Considere que estou executando apenas alguns comandos básicos.
ls
Agora o comando acima teria um pid quando fosse executado? Se sim, então como posso determinar esse pid?
quando eu tento
echo $!
logo após o comando ls, retorna a saída vazia.
considerando que se eu executar
ls &
e depois
echo $!
agora ele me dá o comando pid de ls.
Na verdade eu tenho essa pergunta quando eu estava olhando os logs abaixo auditd ..
type=USER_CMD msg=audit(12/16/2014 17:15:36.201:68342) : user pid=19247 uid=enginst auid=enginst ses=4229 msg='cwd=/apps/oradump/ora_temp_rdbms/OH3 cmd=chmod -R 777 11203 terminal=pts/2 res=success'
type=USER_CMD msg=audit(12/16/2014 17:36:33.968:68753) : user pid=1801 uid=enginst auid=enginst ses=4229 msg='cwd=/apps/oracle/RDBMS cmd=chmod -R 777 11203 terminal=pts/2 res=success'
Aqui, o log acima diz que "chmod -R 777" foi executado pelo usuário enginst e também há um pid.
Agora, posso concluir que o comando chmod foi executado explicitamente pelo usuário, uma vez que os logs auditd não mostram o ppid (id do processo pai), o que seria o caso se algum script / programa o iniciasse? / p>
No entanto, eu ativei o processo de contabilidade agora para verificar o acima. Mas de qualquer forma, a minha pergunta está ...
comandos como chmod, ls recebe um pid quando é executado? ou não? ou recebe um pid quando é executado em segundo plano, enquanto não está em primeiro plano?