이 매뉴얼 페이지에서 kill
다음과 같이 작성되었습니다.
개요
kill [ -s signal | -p ] [ -a ] [ -- ] pid ... kill -l [ signal ] -p Specify that kill should only print the process id (pid) of the named processes, and not send any signals.
그러나 RH와 RHEL에서 여러 번 시도했지만 kill -s SIGHUP |-p 123
결코 작동하지 않는 것과 같은 명령 이 발생하고 항상 오류 가보고됩니다
bash : -p : 명령을 찾을 수 없습니다
내가 실수를 했습니까?
답변
kill [ -s signal | -p ]
매뉴얼 페이지의이 구문은 다음을 의미합니다.
당신은 사용할 수 있습니다
kill -s signal
또는 당신은 사용할 수kill -p
있지만 모두 사용할 수 없습니다-s
와-p
같은 시간에.
파이프 ( |
)는 (독점) 또는 설명서를 나타내며 명령의 일부가 아닙니다.
입력 할 때
foo | bar
쉘, 그것은 시작하려고 시도합니다 foo
및 bar
의 출력을, 파이프 foo
받는 bar
프로그램. (즉, 그 일을 쉘, 아니다 foo
(또는 bar
은)는 |
귀하의 경우에는 어느 프로세스에 전달되지 않습니다.), 두 번째 부분입니다 -p 123
, 쉘 시도 있도록라는 실행 파일을 찾아 -p
그 오류 메시지와 함께 실패합니다.
답변
Bash kill
에 명령과 함께 내장 명령이 있다는 사실에 넘어 졌다고 생각합니다 kill
.
$ type -a kill
kill is a shell builtin
kill is /usr/bin/kill
kill is /bin/kill
읽고있는 맨 페이지는 kill
아래 에있는 명령을 참조하고 있습니다 /bin
. 전체 경로를 사용하여 소환하십시오.
$ /bin/kill -p sleep
16486
우연히에 /usr/bin/kill
대한 링크 /bin/kill
입니다.
$ ls -l /usr/bin/kill
lrwxrwxrwx 1 root root 14 Feb 9 2011 /usr/bin/kill -> ../../bin/kill
$ readlink -m /usr/bin/kill
/bin/kill