Você pode usar a opção -o
para especificar seu formato de saída:
$ ps -eo args
De a página do manual :
Command with all its arguments as a string. Modifications to the arguments may be shown. [...]
Você também pode usar a opção -p
para selecionar um PID específico:
$ ps -p [PID] -o args
pidof
também pode ser usado para alternar do nome do processo para o PID, permitindo assim o uso de -p
com um nome:
$ ps -p $(pidof dhcpcd) -o args
Claro, você também pode usar grep
para isso (nesse caso, você deve adicionar a opção -e
):
$ ps -eo args | grep dhcpcd | head -n -1
O GNU ps também permitirá que você remova os cabeçalhos (é claro que isso é desnecessário ao usar grep
):
$ ps -p $(pidof dhcpcd) -o args --no-headers
Em outros sistemas, você pode canalizar para o AWK ou sed:
$ ps -p $(pidof dhcpcd) -o args | awk 'NR > 1'
$ ps -p $(pidof dhcpcd) -o args | sed 1d
Editar: se você quiser pegar essa linha em uma variável, use $(...)
como de costume:
$ CMDLINE=$(ps -p $(pidof dhcpcd) -o args --no-headers)
ou, com grep
:
$ CMDLINE=$(ps -eo args | grep dhcpcd | head -n -1)