Comando equivalente do Ubuntu para o comando da lista de tarefas do Windows

0

Eu tenho algumas linhas no PHP para verificar se um processo específico está sendo executado no meu servidor. Se o processo estiver em execução, incluo um script que é usado para interagir com o dito processo. Abaixo está o código

ob_start(NULL, 0, PHP_OUTPUT_HANDLER_CLEANABLE);
system('tasklist /FI "IMAGENAME eq websocket.exe" /FO TABLE /NH');
$return = ob_get_clean();
if (!($return === false || stripos($return, 'websocket') === false)) {
    $hData['Script'][] =    'websocket.js';
}//END IF

Atualmente, a chamada do sistema só pode ser usada no Windows porque tasklist é um comando específico do Windows. Desde que eu ainda estou aprendendo Ubuntu e Unix eu não consigo pensar em uma maneira de obter um resultado semelhante ao meu comando do Windows. Pensei em usar ps para verificar meu processo, mas não sei como refinar os resultados com base no nome do processo.

Existe um comando no Ubuntu semelhante ao meu comando do Windows tasklist /FI "IMAGENAME eq websocket.exe" /FO TABLE /NH que me permitirá filtrar os processos não correspondentes? O objetivo é torná-lo eficiente tanto para o Ubuntu quanto para o PHP. Portanto, é recomendável filtrar os resultados o máximo possível

Informações adicionais

Estou planejando usar isso para verificar se o servidor websocket está em execução e se ele inclui o script para que os usuários possam usá-lo.

Eu tentei fazer ps -ef | grep -i "websocket" , mas ele retornaria grep --color=auto -i websocket , que corresponderia aos critérios do PHP e incluiria o script. Eu gostaria de tentar evitar esse caminho.

    
por Mic1780 11.09.2014 / 19:29

1 resposta

1

Apenas canalize os resultados para grep -v grep como ps -ef | grep -i "websocket" | grep -v grep Isso removerá o registro ps com o grep nele.

    
por 11.09.2014 / 19:32