Bash 파일에서 -9 문제를 종료하세요.

Bash 파일에서 -9 문제를 종료하세요.

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 프로세스를 종료하면 안 됩니까?".

관련 정보