Verifique se o grupo de processos foi definido corretamente quando foi iniciado

0

Estou configurando o grupo de um processo quando o inicio fazendo o seguinte:

sudo -g offline "/home/natral/apps/some-app/bin/app.sh" %f

depois que o processo está sendo executado, como posso verificar o nome do usuário e do grupo em que ele está sendo executado? Eu verifiquei ps aux e isso me diria o usuário, mas não o grupo. Então eu tentei ps -eo uid,gid,args e consegui encontrar o GID, mas como posso verificar se o GID é realmente o grupo "offline"?

    
por natral 07.12.2017 / 22:13

2 respostas

1

Você pode usar user e group no lugar de uid e gid para que ps mostre o grupo e os nomes de usuários em vez dos números. E, claro, se você tem o id do processo, você não precisa procurar a lista inteira ps -e dá a você, mas poderia usar algo como isto

$ ps -o pid,user,group,args -p "$pid"

ou se você não tiver o PID, pgrep poderá encontrá-lo para você:

$ ps -o pid,user,group,args -p $(pgrep -f app.sh)

Mas suspeito que sudo daria um erro se não pudesse definir o ID do grupo para o que você deseja.

    
por 07.12.2017 / 22:30
2

Se você tiver o valor de GID, getent group $GID retornará todos os detalhes sobre o grupo cujo ID é $ID , incluindo seu nome.

Alternativamente, você também pode fazer getent group offline e ver se o número que você recebe é o que você vê em ps output.

    
por 07.12.2017 / 22:21