모든 프로세스는 ps aux
; 달리기, 잠자기, 좀비 또는 정지 여부.
당신이 사용하여 프로세스를 실행하기 때문에, 귀하의 경우, sh abc.sh
, sh
실행되지 않고 응용 프로그램 (쉘)입니다 abc.sh
. 따라서, ps aux
과정 포함되지 않습니다 abc.sh
때문에있는 grep
어떤 결과를 얻을 수없는합니다.
따라서 올바른 방법은 다음과 같습니다.
ps aux | grep sh
이것은 또한 sh
출력의 어디에서나 문자열을 가지고 실행중인 다른 프로세스를 반환 할 수 있습니다 ps aux
.
의 출력에 as ps aux
가 있으면 프로세스가 "실행 중" 입니다. 그것이 아닌 다른 것이라면, 실행중인 프로세스를 확인하기 위해 명령을 실행 한 인스턴스에서 실행되고 있지 않습니다. ps의 man 페이지에서 다른 프로세스 상태를 찾을 수 있습니다.STAT
R
D uninterruptible sleep (usually IO)
R running or runnable (on run queue)
S interruptible sleep (waiting for an event to complete)
T stopped, either by a job control signal or because it is being traced
W paging (not valid since the 2.6.xx kernel)
X dead (should never be seen)
Z defunct ("zombie") process, terminated but not reaped by its parent
top
프로세스가 실행 중이거나 대기 중인지 여부와 사용중인 CPU 양, RAM을 확인하기 위해 명령을 실행할 수도 있습니다. (이 과정은 다시 프로세스로 나열됩니다 sh
).
그러나 프로세스가로 나열되도록 abc.sh
하려면 실행중인 스크립트의 첫 번째 행이 다음과 같아야합니다.
#!/bin/sh
셸이 스크립트를 실행하는 데 사용할 응용 프로그램을 알고 (이 경우에는 #!/bin/bash
bash로 변경 ) 다음을 사용하여 프로세스에 실행 권한을 제공합니다.
chmod +x /path/to/abc.sh
파일 /path/to/
의 위치로 바꾸고 abc.sh
다음을 abc.sh
사용하여 실행하십시오.
/path/to/abc.sh
파일 /path/to/
위치로 다시 바꿉니다 abc.sh
.
S+
수단