저는 Bash 쉘과 함께 Debian Virtual Box를 사용하고 있으며 -c 스위치와 함께 ps 명령을 사용하여 프로세스 이름을 검색하여 프로세스 ID를 찾으려고 합니다. 이것이 내가 쓴 것입니다:
ps -c processname
그러면 그것은 나에게 말한다 :
오류: 지원되지 않는 옵션(BSD 구문)
다음은 제가 현재 사용하고 있는 구문을 사용하는 웹사이트를 알려주는 URL입니다.kill 명령과 Linux에서 프로세스를 종료하는 방법에 대해 알아보세요.
도움이 필요하세요?
답변1
이 구문을 사용해 보세요.
ps -A | grep processName
결과에 grep 프로세스가 포함되어 있으면 다음 명령을 사용하여 제거하십시오.
ps -A | grep processName | grep -v grep
내 경험상 대부분의 Linux 프로그램은 동일한 방식(ps)으로 작동하지만 항상 약간의 차이점이 있습니다.
올바른 설치 구문은 매뉴얼 페이지를 통해 현재 버전을 확인하세요.
man ps
참고: grep의 매뉴얼 페이지를 확인하여 대소문자를 구분하지 않도록 하세요.
man grep
답변2
해당 블로그 게시물에서는 플래그 -C
가 아닌 플래그 사용에 대해 설명합니다 -c
. 대문자 C를 소문자 C로 바꾸면 작동하지 않습니다. 옵션은 대소문자를 구분합니다. 이러한 전사 문제를 방지하려면 복사하여 붙여넣으세요.
즉, 출력을 구문 분석하는 것은 ps -C
좋은 생각이 아닙니다. 이를 수행하는 전용 프로그램이 있습니다:pgrep
. pgrep -f processname
지정된 명령을 실행 중인 프로세스를 확인하는 데 사용됩니다 . 다른 유용한 옵션에 대해서는 설명서를 참조하세요. 종료하려는 프로세스를 정확히 결정한 후 다음 pgrep
으로 바꾸십시오 pkill
. pkill
완전히 동일한 프로세스 pgrep
(동일한 코드, 심지어 동일한 바이너리임)를 일치시키되 해당 프로세스에 대한 정보를 표시하는 대신 종료하십시오.