제공한 PID를 기반으로 export
유효한 프로세스를 설정하려고 합니다. 명령을 실행하면 작동하는 것 같습니다(만약kill
pgrep
kill $(pgrep myAppName)
'내 애플리케이션 이름'실제 실행 중인 프로세스의 이름입니다.)...하지만 이 명령을 내보낸 환경 변수로 어떻게 저장할 수 있습니까? 내가 생각할 수 있는 명령의 모든 변형은 pgrep myAppName
유사한 값 20137
(또는 유사한 PID 값)으로 평가하려고 시도하는 것으로 보이며, 내보낸 변수를 처음 실행할 때 작동하지만 그 후에는 분명히 작동하지 않습니다. 명령이 실제로 예 kill 20137
, 프로세스가 종료되었습니다.
$KILL_APPNAME
명령을 실행할 때마다 프로세스 종료와 같은 명령을 입력 할 수 있도록 이를 변수에 올바르게 저장하려면 어떻게 해야 합니까 ?
답변1
난 무엇인가?생각하다eval
당신은 일을 하기 위해 해야 할 일을 하려고 노력하고 있습니다 :
THING="eval kill \$(pgrep myAppName)"
$THING
zsh
그러나 이는 어색하고 기본적으로 모든 셸에서 작동하지 않습니다(예를 들어 작동하도록 옵션을 설정할 수는 있지만 기본적으로 작동하지 않습니다). 무엇을 하든 다음 함수와 같이 더 깨끗하고 간단한 것으로 해결하는 것이 더 나을 것입니다.
kill_my_app() {
kill $(pgrep myAppName)
}
kill_my_app
또는 다른 사람들이 의견에서 지적했듯이 필요한 것을 정확히 수행하는 pkill
or 를 사용하세요.killall