Macでasを使用する方法はpkill
?su
端末で実行すると、su pkill -9 "RFBEventHelperd"
次のような結果が得られますsu: Sorry
(しかしsudoとして機能します)。を実行する方法を探していますsu
。
私のアプリケーション
MacOSでSleepWatcherを使用して朝起きたときに画面共有アプリを開いています。画面共有アプリを起動した後、画面共有RFBEventHelperd
で実行されているオペレーティングシステムに接続せずにMacに+を返すので、プロセスを終了したいと思います。CommandTab
SleepWatcherは次のようにWakeScriptを実行しますsu
。
$ su - $user -c "$home/.wakeup"
質問
pkill -9 "RFBEventHelperd"
これを私のスクリプトに入れて他のユーザーとして実行されているプロセスを終了させるにはどうすればよいですか?
ベストアンサー1
お探しのフォームはsu
次のとおりです。
$ su -c pkill -9 "RFBEventHelperd" <user>
OSXでは、この形式が機能しない可能性があります。そのような場合は、次のものを代わりに使用する必要がありますsudo
。
$ sudo -u <user> <cmd>
パスワードなしで実行するには、ファイルにエントリを生成し、/etc/sudoers
NOPASSWD機能を利用して、元のスクリプトを実行しているユーザーがパスワードを入力せずにアクセスできる明示的なコマンドを実行する必要があります。
sudoを使う
/etc/sudoers
このユーザーアクセスがコマンドを実行できるようにファイルにルールを設定するには、そのpkill
ルールを次に追加します/etc/sudoers
。
%admin ALL=(ALL) NOPASSWD: ALL
これにより、シェルスクリプトはパスワードなしでこのコマンドを実行できます。
$ sudo -u root /usr/bin/pkill -9 "RFBEventHelperd"
メモ:編集を処理する/etc/sudoers
ときは、visudo
次のように使用できます。
$ sudo visudo