나는 명령을 다음 pkill
과 같이 사용합니다.뿌리내 vps 우분투에서 서버에서 쫓겨나서 액세스할 수 없습니다.
제가 터미널에 쓴 내용은 다음과 같습니다.
pkill h
시간내 우분투 사용자야?
해결책은 무엇입니까?
답변1
특정 사용자에 속한 모든 프로세스를 종료하려면 다음을 사용하십시오.
pkill -U user .
.
끝에 있는 모든 프로세스 이름과 일치하고 -U user
이름이 지정된 사용자에 속한 프로세스로 작업을 제한합니다 user
.
명령이 어떤 프로세스에 영향을 미치는지 확인하려면 명령 자체를 로 바꾼 다음 추가하여 "긴 출력"을 얻을 pkill
수 있습니다(프로세스 이름도 표시됨).pkill
pgrep
-l
pgrep -l h
위 명령은 h
이름에 해당 문자가 포함된 시스템의 모든 명령을 표시해야 하며, 아래 명령은 이름이 다음과 같은 사용자에 속한 모든 명령을 표시합니다 user
.
pgrep -l -U user .
답변2
당신은 우리에게 말한다,
제가 터미널에 쓴 내용은 다음과 같습니다.
pkill h
또한 여기서 일어나는 일은 이름에 포함된 모든 프로세스를 root
종료한다는 것입니다 . h
여기에는 sshd
인바운드 요청을 제어하는 마스터 ssh
와 기존 연결을 중재하는 모든 하위 노드가 포함됩니다.
그래픽이 아닌 콘솔에 로그인하여 직접 재부팅할 수 없는 경우 시스템 강제 재부팅을 예약해야 합니다.
익숙하지 않은 명령에 대해서는 문서를 확인하는 습관을 들이는 것이 좋습니다. 여기서는 man pkill
첫 번째 예로 특정 사용자가 소유한 프로세스만 선택하는 방법을 보여준다. 상황에 맞게 예를 적용해 보세요.
pkill -u h # user "h"
더 나은 방법은 pgrep
먼저 올바른 프로세스 집합과 일치하는지 확인하는 것입니다.
pgrep -a -u h # -a shows "all" the command line, for user "h"
또는 신호 0을 보내고 아무것도 하지 않습니다.
pkill -0 -e -u h # Signal zero, "echo" affected processes, for user "h"
사용자 이름은 정확히 일치해야 하지만 프로세스 이름은 부분적으로 일치해야 합니다. (이것이 h
원래 명령에 일치하는 이유가 있습니다 sshd
.)