Centos 6.8에서 2줄의 bash 스크립트 파일을 작성했습니다.
#! /bin/sh
pid= ps -ef | grep -i 'adminserver' | grep -v grep | awk '{print $2}'
kill -9 $pid
스크립트를 실행하면 다음과 같은 결과가 나타납니다.
kill: usage: kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]
답변1
pid=
공백 뒤에는 pid
변수가 빈 문자열로 설정됩니다. 나머지 줄은 단순히 파이프를 실행하고 결과를 출력합니다(리디렉션되지 않는 한 터미널로 가능). $pid
비어 있었기 때문에 kill
나중에 불평했습니다.
명령의 출력을 캡처하려면 $(...)
를 사용하세요.
pid=$( ps -ef | ... )
pkill
그러나 수행하려는 작업 에 사용하는 것이 더 좋습니다 .
pkill adminserver
pkill
설명서 를 참조하세요 .
KILL
또한 가능하다면 이 신호를 사용하지 않을 것입니다. 예를 들어 "언제 -9 프로세스를 종료하면 안 됩니까?".