sleep 30
하나의 PuTTY 창에서 실행 중인 경우 다른 PuTTY 창에서 sleep 명령의 프로세스 ID를 어떻게 찾나요?
답변1
pgrep
명령
귀하의 배포판에정규식명령이 설치됩니다(예:프로세스패키지), 해당 명령을 사용하여 패턴별로 프로세스 ID를 찾을 수 있습니다. 예를 들어:
# Find the sleep commands belonging to the current user.
pgrep -u $LOGNAME sleep
이 명령은 프로세스가 현재 터미널에서 시작되었는지 다른 터미널에서 시작되었는지 여부에 관계없이 현재 사용자에게 속한 모든 일치 항목을 찾으므로 PuTTY 사용 사례에 적합합니다.
테스트 pgrep
명령
단일 TTY 또는 PTY에서 이를 매우 간단하게 테스트할 수도 있습니다. 고려하다:
$ sleep 30 & pgrep -u $LOGNAME sleep
[1] 24021
24021
이 예에서는잠Bash는 백그라운드 작업의 작업 ID와 PID를 보고합니다. 그 다음에정규식프로세스 목록에서 동일한 PID를 찾아 표준 출력으로 PID를 보냅니다. 당연히 숫자가 일치해야 합니다.
여러 게임
현재 사용자가 여러잠명령이 실행된 다음정규식여러 PID가 올바르게 보고됩니다. 예를 들어 다음 명령은 백그라운드 작업의 PID %1
합계를 반환합니다 %2
.
$ sleep 30 & sleep 30 & pgrep -u $LOGNAME sleep
[1] 24063
[2] 24064
24063
24064
답변2
ps -u "your_login" | grep "sleep" | awk '{print $1}'