Macでpkill
をsu
として使用するにはどうすればよいですか?
実行するとsu pkill -9 "RFBEventHelperd"
ターミナルでsu: Sorry
(ただし、Sudoとして機能します)。 su
として実行されるスクリプト内からこのプロセスを強制終了する方法を探しています。
MacOSでSleepWatcherを使用して、ウェイクアップ時に画面共有アプリを開きます。画面共有アプリを起動した後、プロセスを強制終了したいRFBEventHelperd
Command+Tab 画面共有で実行されているOSにバインドされる代わりにMacに。
SleepWatcherはウェイクスクリプトをsu
として実行します。
$ su - $user -c "$home/.wakeup"
どうすればpkill -9 "RFBEventHelperd"
スクリプトに追加し、別のユーザーとして実行されているプロセスを強制終了します。
探しているsu
の形式は次のとおりです。
$ su -c pkill -9 "RFBEventHelperd" <user>
OSXでは、このフォームが機能しない場合があります。そのような状況では、代わりにSudo
を使用することに屈する必要があります。
$ Sudo -u <user> <cmd>
これをパスワードなしで実行するには、/etc/sudoers
ファイルにこのエントリを作成し、NOPASSWD機能を使用して、元のスクリプトを実行しているユーザーがパスワードを要求されることなく実行できる明示的なコマンドを実行する必要があります。
このユーザーアクセスがpkill
コマンドを実行できるように、/etc/sudoers
ファイルにルールを設定するには、これを/etc/sudoers
に追加します。
%admin ALL=(ALL) NOPASSWD: ALL
これにより、シェルスクリプトはパスワードなしで次のコマンドを実行できます。
$ Sudo -u root /usr/bin/pkill -9 "RFBEventHelperd"
注:/etc/sudoers
編集を処理するときは、次のようにvisudo
を使用できます。
$ Sudo visudo