
現在、プロセスを終了するためのBASHスクリプトを作成しています。まず、プロセスが実行中であることを確認してから終了します。しかし、if
プロセスがルート(現在のスクリプトではなく)によって開かれていることを確認するためにネストを追加したいと思います。
答え1
ps -o ruser=
または、次のものを使用できますps -o uid=
。
$ ps -p 930 -o ruser=
root
$ ps -C cron -o ruser=
root
$ [[ $(ps -C cron -o uid=) -eq 0 ]]; echo $?
0
-pはpidで一致し、-Cはコマンド名で一致します。 OS Xのpsは-Cをサポートしていませんが、pgrepを使用できます。
$ ps -p $(pgrep -x cron) -o ruser=
root