현재 프로세스를 종료하기 위해 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