나는 온라인 플래시카드에서 명령이 다음과 같다는 것을 읽었습니다.
pkill -u bob $(pgrep -u bob)
그러나 나는 이것이 틀렸다고 생각한다. 나는 그것이 다음과 같이 말하는 것 같아요:
해당 프로세스가 소유한 모든 처리 프로세스를 종료
bob
하고4572\n4600
왜냐하면:
[bob@localhost ~]$ pgrep -u bob
4572
4600
추가적으로 오류가 발생합니다:
[bob@localhost ~]$ pkill -u bob $(pgrep -u bob)
pkill: only one pattern can be provided
Try `pkill --help' for more information.
사용자 이름에는 개행 문자가 포함될 수 없기 때문에 이는 의미가 있습니다. 그렇죠?
나는 명령이 다음과 같아야 한다고 생각합니다.
pkill -u bob
"bob이 소유한 모든 프로세스를 종료합니다."
그리고 명령은 다음과 같습니다.
pgreg -u bob
"bob이 소유한 모든 프로세스"를 제공합니다.
나는 생각 중입니다:
- 예상대로 올바른 명령을 사용하고 있습니까?
- 어떻게 잘못되었는지에 대한 내 분석이 정확합니까?
답변1
당신 말이 맞아요
잘못된: pkill -u bob $(pgrep -u bob)
옳은:pkill -u bob
플래시 카드는 다음을 표시하도록 설계될 수 있습니다.
kill $(pgrep -u bob)
그러면 에서 반환한 모든 프로세스가 종료됩니다 pgrep -u bob
.