배경
SSH 서버를 실행 중이며 삭제할 사용자가 있습니다. 현재 사용자를 먼저 종료해야하는 몇 가지 프로세스를 실행 중이므로이 사용자를 삭제할 수 없습니다.
이것은 현재 사용중인 사용자의 모든 프로세스 ID를 찾기 위해 현재 사용중인 파이프 라인입니다.
ps -u user | awk '{print $1;}'
결과는 다음과 같습니다.
PID
2121
2122
2124
2125
2369
2370
이 kill -9
프로세스 를 파이프하여 모든 프로세스를 종료 하고이 바보 같은 사용자를 다음과 같이 삭제할 수 있습니다.
ps -u user | awk '{print $1;}' | sudo xargs kill -9
그러나 PID
헤더로 인해 작동하지 않습니다 .
kill: failed to parse argument: 'PID'
질문
첫 번째 입력 줄을 제거하려면 간단한 유닉스 명령이 있어야한다고 생각합니다.
나는 tail
이것을 사용할 수 있다는 것을 알고 있지만 입력 할 줄이 몇 줄인지 계산하고 싶지 않습니다.
스트림의 첫 번째 / 마지막 부분 만 표시하는 대신 스트림 의 시작 / 끝을 제외한 모든 것을 표시하는 것과 비슷 head
하거나 tail
거꾸로 된 것을 찾고 있습니다.
노트
나는 단순히 추가했다이 문제를 해결하기 위해 관리 | grep [[:digit:]]
내 한 후 awk
명령을하지만, 난 여전히 내가 다른 시나리오에서 매우 유용하다고 생각하는 파일의 첫 줄을 삭제하는 방법을 찾고 있어요.
awk
작동 하는지 설명하십시오 .
NR
eg를 사용하여 헤더 레코드 (줄)를 제외 할 수 있습니다awk 'NR>1 {print $1;}'
. 더 나은-사용pgrep -u
또는pkill -u