No Linux, o principal efeito de ps x
é incluir todos os processos em execução como o mesmo usuário. Por padrão, ps
inclui apenas processos em execução no mesmo terminal. Em contraste, o padrão do BSD é incluir processos que possuam um terminal de controle, seja ele igual ou não. A opção BSD correspondente é -x
. Além disso, ps x
seleciona um formato de saída ligeiramente diferente. A sintaxe POSIX para corresponder aos mesmos processos é
ps -A -u "$USER"
Se você estiver analisando a saída de ps
, certifique-se de usar o -o
flag para controlar quais colunas serão impressas. Observe que os comandos da minha resposta não imprimem exatamente as mesmas colunas.
Para procurar um processo ssh-agent, você precisa passar algumas opções, já que o Linux e o BSD ocultam processos que não estão associados a nenhum terminal por padrão, e é comum que o ssh-agent não seja associado a nenhum terminal. um terminal.
if [ -z "$SSH_AGENT_PID" ]; then
SSH_AGENT_PID=$(ps -A -u "$USER" -o comm= | grep ssh-agent | head -n 1)
fi
if [ -n "$SSH_AGENT_PID" ]; then
…