ctrl-c에서 죽일 파이핑 pid

ctrl-c에서 죽일 파이핑 pid

따라서 다음 명령을 실행하는 Grunt 작업이 있습니다.

java -jar build/lib/plovr.jar serve ./someroot' + configurationFile + ' & grunt watch:sass

문제는 쉘에 ctrl-c를 눌렀을 때 어떤 이유로 Java 프로세스가 계속 실행된다는 것입니다.

이 문제를 해결하려는 내 생각은 pid를 세션 변수에 연결하고 동일한 pid를 죽이는 다른 명령을 추가하는 것입니다.

어떻게 이것을 달성할 수 있는지 모르므로 도움이 필요합니다. 또한 더 간단한 방법을 생각해 주시면 감사하겠습니다.

매우 감사합니다

업데이트

실행되는 명령의 순서를 바꾸면 문제가 자동으로 해결됩니다.

grunt watch && java -jar

그래서 Ctrl-C를 누르면 Java 프로세스가 종료됩니다.

어느 쪽이든 누군가가 나에게 첫 번째 접근 방식을 실행하는 방법을 가르쳐 준다면 좋을 것입니다.

답변1

명령줄에 & 기호를 넣으면 그 앞에 있는 명령이 백그라운드에 배치되므로 Ctrl-C가 이를 중지하지 않습니다. 그것을 죽이려면 kill $! 어디 $! 마지막으로 제출된 작업을 쉘로 대체하거나 fg 명령을 사용하여 배경에 배치된 마지막 작업을 전경으로 가져온 다음 Ctrl-c를 사용할 수 있습니다.

관련 정보