MacOS: su pkill -9 "process_name" = 申し訳ありません

MacOS: su pkill -9

Macでasを使用する方法はpkillsu

端末で実行すると、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/sudoersNOPASSWD機能を利用して、元のスクリプトを実行しているユーザーがパスワードを入力せずにアクセスできる明示的なコマンドを実行する必要があります。

sudoを使う

/etc/sudoersこのユーザーアクセスがコマンドを実行できるようにファイルにルールを設定するには、そのpkillルールを次に追加します/etc/sudoers

%admin ALL=(ALL) NOPASSWD: ALL

これにより、シェルスクリプトはパスワードなしでこのコマンドを実行できます。

$ sudo -u root /usr/bin/pkill -9 "RFBEventHelperd"

メモ:編集を処理する/etc/sudoersときは、visudo次のように使用できます。

$ sudo visudo

引用する

おすすめ記事