자꾸 독에 남는데 완전 삭제방법 없을까요?
명령 후 && exit 로 명령 모두 수행 후 종료를 하고 싶은데, btt나 애플스크립트로 몇초후 종료를 누르면 작업시간이 오래걸릴경우 진행중인데 종료할꺼냐는 메세지가 떠서..
터미널 안에서 종료를 해야 할 것 같은데 kill 명령어를 쓰기엔 프로세스 번호를 알아야 하고... 방법 없을까요..?
잘못된 형식의 이미지 링크입니다.
이렇게 남는게 너무 거슬려요 ㅠㅠ
해결 run && killall Terminal && exit
명령어로 완전 종료 하고 싶은거에용.. run 이란 명령어가 있는데 이게 오래걸릴때도 있고 빨리끝날때도 있어서 일정시간 후 커맨드q누르면 아직 명령어 진행중이라는 에러가 떠서
run && {종료명령} 를 하면 명령어가 다 끝난 후에 종료명령어가 진행되는데 종료명령어로 깔끔하게 터미널을 종료할 수 있는 방법이 있는지를 찾는중이에요... kill 명령어를 쓰면 되긴 하지만 프로세스번호가 계속 달라서..
killall 뒤에 exit을 하는 이유는 killall이나 kill 명령어로 터미널을 종료해도 실행 중이였던 bash/zsh/sh 프로세스는 실행되고 있습니다. 그래서 터미널을 종료하고 마지막에 exit로 bash/zsh/sh를 꺼주는 원리입니다.
순서를 바꿔서 run && exit && killall Terminal로 하면 원하시는대로 안 될겁니다. 왜냐하면 exit를 먼저 하면 bash/zsh/sh가 종료되어서 killall Terminal 명령어는 씹히게 됩니다. 그래서 exit 앞에 killall를 먼저 해주는 겁니다. 이해가 되셨으면 좋겠네요.
커맨드를 입력하는 터미널은 꺼진게 맞습니다.
보통 스크립트로 실행하는 환경이라면 터미널(bash)프로세스도 꺼지는게 맞는데요. 꼭 Exit을 쓰셔야겠다면 && exit 하시면 됩니다
프로그래머가 kill명령을 받으면 하던 일을 정리하도록 하면 상관 없는데, 그렇게 만들지 않으면 OS에서 강제로 죽이긴 합니다.
그래서 프로그램 내부 구조를 잘 모른다면 kill은 되도록 피하는게 좋긴 합니다.