Archive for the 'NSRunningApplication' Category

2017/09/26 バンドルIDで指定したプロセスを強制終了

Bundle IDで指定したプロセスを強制終了するAppleScriptです。

実際に試してみたらshellのkill/killallコマンドなどと異なり、Finderを強制終了したら終了しっぱなしになりました。

FinderをkillしてFinderがわりのアプリケーションを起動しておく用途のために必要な機能です。

AppleScript名:バンドルIDで指定したプロセスを強制終了(NSRunningApplication)
– Created 2017-09-17 by Takaaki Naganoya
– 2017 Piyomaru Software
use AppleScript version “2.4″
use scripting additions
use framework “Foundation”
use framework “AppKit”
–http://piyocast.com/as/archives/4847

set pRes to forceQuitAProcessByBUndleID(“com.apple.finder”) of me

–指定プロセスの強制終了
on forceQuitAProcessByBUndleID(aBundleID)
  set appArray to current application’s NSRunningApplication’s runningApplicationsWithBundleIdentifier:aBundleID
  
if appArray’s |count|() > 0 then
    set appItem to appArray’s objectAtIndex:0
    
set aRes to (appItem’s terminate()) as boolean
    
return aRes
  else
    return false
  end if
end forceQuitAProcessByBUndleID

★Click Here to Open This Script 

2015/02/08 起動中のプロセスの存在確認(ASOC)v2

Bundle IDで指定したアプリケーションプロセスが起動中かどうかを調べるAppleScriptです。

v1は「とりあえずこんなもんで動くだろー。でももっと短く書けそう」というものでしたが、やっぱり短く書けました。Shane Stanleyからチェックが入って(汗)、もっと短く書けるよ、とのこと。感謝です(^ー^)

AppleScript名:指定Bundle IDのプロセス存在確認(ASOC)v2
– Created 2015-02-08 by Shane Stanley
use AppleScript version “2.4″
use scripting additions
use framework “Foundation”
use framework “ASObjCExtras”
use framework “AppKit”

set aRes to chkAppProcesByBundleID(“com.adobe.Photoshop”)
–> true

set aRes to chkAppProcesByBundleID(“com.adobe.Photoshopoo!”)
–> false

on chkAppProcesByBundleID(aBundleID)
  set appArray to current application’s NSRunningApplication’s runningApplicationsWithBundleIdentifier:aBundleID
  
return (appArray’s |count|() > 0)
end chkAppProcesByBundleID

★Click Here to Open This Script