node.js 애플리케이션의 정확한 PID를 알아보세요.

node.js 애플리케이션의 정확한 PID를 알아보세요.

이것은 내 ps aux의 출력입니다.

ps aux | grep "node"
root      2501  0.0  3.4 720400 68512 ?        Sl   16:09   0:03 node /etc/skbx/host/skbx.js 8081 tula13 8082 8084 8085 10.8.0.6
root     20586  0.0  0.1  17396  2664 pts/16   S+   21:29   0:00 grep --color=auto node

두 번째 것을 무시하십시오. 노드 프로세스가 있습니다. Bash에서 skbx.js를 실행하는 노드 프로세스의 PID를 정확히 알아내야 합니다.

어떻게 해야 하나요? 감사해요.

답변1

PID를 추출하기 위해 출력을 필터링할 필요가 없으므로 알려진 명령줄의 PID를 찾는 경우 일반적 pgrep으로 선호됩니다 . with를 사용하여 전체 명령줄을 일치시킬 ps | grep수 있습니다 .pgrep-f

pgrep -f 'node /etc/skbx/host/skbx.js'

상위 프로세스 ID 및 제어 터미널과 같은 기준으로 프로세스를 찾을 수도 있습니다.


pgrep설치 되지 않은 경우 grep파이프에 사용할 수 있습니다. 다음 예에서는 제공된 패턴의 문자 클래스를 사용하여 출력에 나타나지 않도록 grep합니다 . 이는 출력을 입력 grep으로 파이프하거나 이와 유사한 것보다 비용이 저렴합니다 .grep -v grep

ps aux | grep '[n]ode /etc/skbx/host/skbx.js' | awk '{print $2}'

grep출력에 나열된 명령에는 ps사용된 결과 패턴과 일치하지 않는 대괄호 리터럴이 포함 됩니다 grep.

관련 정보