프로세스를 시작할 때 다음을 수행하여 프로세스 그룹을 설정합니다.
sudo -g offline "/home/natral/apps/some-app/bin/app.sh" %f
프로세스가 실행되면 실행 중인 사용자 및 그룹의 이름을 어떻게 확인할 수 있습니까? 확인해 보니 ps aux
사용자는 알 수 있지만 그룹은 알 수 없습니다. 그런 다음 ps -eo uid,gid,args
GID를 찾으려고 노력했지만 GID가 실제로 "오프라인" 그룹인지 어떻게 확인할 수 있습니까?
답변1
GID 값이 있는 경우 getent group $GID
해당 이름이 포함된 ID를 가진 그룹에 대한 $ID
모든 세부정보 가 반환됩니다.
또는 getent group offline
반환된 숫자가 ps
출력에 표시된 숫자인지 확인할 수 있습니다.
답변2
숫자 대신 user
및 group
대신 uid
및를 사용하여 그룹 및 사용자 이름을 gid
표시 할 수 있습니다 . ps
물론 프로세스 ID가 있으면 ps -e
제공된 전체 목록을 찾아볼 필요는 없지만 다음과 같이 사용할 수 있습니다.
$ ps -o pid,user,group,args -p "$pid"
또는 PID가 없는 경우 pgrep
당사에서 찾아드릴 수 있습니다.
$ ps -o pid,user,group,args -p $(pgrep -f app.sh)
sudo
하지만 그룹 ID를 원하는 그룹 ID로 설정할 수 없으면 오류가 발생할 것으로 생각됩니다 .