web-dev-qa-db-ja.com

MacOS:su pkill -9“ process_name” =ごめんなさい

Macでpkillsuとして使用するにはどうすればよいですか?

実行すると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"スクリプトに追加し、別のユーザーとして実行されているプロセスを強制終了します。

1
Jsp

探している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

参考文献

0
slm