'리눅스 백그라운드 작업'에 해당되는 글 1건

  1. 2018.02.01 리눅스 백그라운드 작업(SSH 끊겨도 유지)
2018. 2. 1. 12:55

$ ./test_copy.sh &

내가 만든 sh 파일을 백그라운드로 계속 돌리고 싶다.


그래서 위처럼 하면 백그라운드에서 작업한다.



실행명령어 뒤에 & 붙이면 된다.


근데, 터미널 접속이 끊이면 이 작업도 중지된다.



$ nohup ./test_copy.sh &


어떤사람들은 &만 붙이면 끊겨도 괜찮다던데,


난 계속 끊기면 작업을 안하길래,


알아보니,


요즘은 옵션에서 nohup같이 동작하게 설정되어있어서 유지한다고 한다.


리눅스마다 이거는 틀리니까, 확인해봐야할것이다.


대부분은 끊여서 nohup를 한다.



근데, 웃긴건, nohup를 써도 터미널 접속이 끊겨도 그럴떄가 있다는것다.


그럴때는 


실행을 한다음에,


엔터를 쳐서, 터미널에서,


$ disown -h

이라는 명령어를 치면, 계속 유지한다.



처음에 백그라운드 작업으로 시작을 못했다면,


'Ctrl + z' 를 눌러서 정지 시킨다음에 shell로 돌아가는데,


'bg' 를 눌러서, 백그라운드로 보낸다. (작업을 복귀하고 싶을때는 'fg %1'를 친다.) 


그다음에 


'disown -h' 를 쳐도 된다.




작업 리스트 확인하기.


$ jobs


$ ps -ef | grep test_copy.sh


$ ps -ef | grep 실행중인 명령어 또는 파일명


 



작업 강제종료, 죽이기.


$ kill -9 아이디번호


 

위에 ps로 해서 나온 id 번호로 kill를 써서 죽이면 된다.


Posted by Tyson