Passe a opção -o
para ps
para controlar os campos que ela gera. Se você adicionar um sinal =
após todos os campos, a linha de cabeçalho será omitida.
Use -e
em vez de ax
para manter os recursos padrão (isso trabalhar em qualquer unix não antigo).
Seu filtro com grep
não é robusto. Por exemplo, se você executar esse comando a partir de um script chamado look-for-tomcat
, seu script também será correspondido. Aqui está uma maneira mais robusta que procura por um processo da JVM com org.apache.catalina.startup.Bootstrap
como argumento.
ps -e -o user=,args= | awk '
$2 ~ /java$/ && / org\.apache\.catalina\.startup\.Bootstrap($| ) {
print "user name: ", $1;
if (match($0, / -javaagent:[^ ]* /)) print substr($0, RSTART+1, RSTART+RLENGTH-2);
# etc.
}'
Melhor ainda seria registrar o PID do processo do tomcat em um arquivo (por exemplo, /var/run/tomcat.pid
) quando for iniciado.