ps 명령이 제대로 작동하지 않나요? [폐쇄]

ps 명령이 제대로 작동하지 않나요? [폐쇄]

저는 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(동일한 코드, 심지어 동일한 바이너리임)를 일치시키되 해당 프로세스에 대한 정보를 표시하는 대신 종료하십시오.

관련 정보