2.log

세션 연결 끊겨도 프로세스 동작하게 하는 법 (nohup 명령어) 본문

HACKING/Bandit+

세션 연결 끊겨도 프로세스 동작하게 하는 법 (nohup 명령어)

2.log 2023. 4. 15. 17:39
728x90
반응형

nohup 


리눅스에서 프로세스를 실행한 터미널의 세션 연결이 끊어져도 계속 동작할 수 있게 해주는 명령어

 

본래 터미널에서 세션 로그아웃 되면 해당 터미널에서 실행한 프로세스들에게 HUP signal 전달하여 종료시키지만, nohup 은 이 시그널을 프로세스가 무시하도록 함

 

또한 nohup 은 표준 출력(standard output) 을 nohup.out 파일로 리다이렉션 하여 계속 기록하기에 프로세스 상태 확인 가능하며, 다만 이러한 로그는 디스크 자원을 낭비할 수 있기에 불필요한 출력파일은 생성하지 않는 것이 좋음

 

 

 

명령어


$ nohup [process] &

 

프로세스 부분에 실행하고자 하는 프로그램이나 스크립트 지정, 이 때 스크립트 파일 권한은 755 이상이어야 하며 일반적으로 nohup 명령어 사용시 백그라운드 작업으로 실행하는 경우가 많으므로 & 를 붙여 명시해 줌

 

 

 

nohup.out 파일 리다이렉션


$ nohup [process] 1>/dev/null 2>&1 &

만약 nohup.out 파일 생성하지 않으려면 표준 출력 및 표준 에러를 /dev/null 로 리다이렉션 시켜줌

 

 

 

 

nohup으로 실행한 프로세스 종료


#grep 으로 특정 프로세스(PID) 찾기
$ ps -ef | grep [precess]

#종료
$ kill -15 [PID]

#강제종료 (종료 정 안될 때)
$ kill -9 [PID]

 

-e : 실행중인 모든 프로세스 출력

 

 

-f : 프로세스 상태정보 출력

 

 

 

 

 

 

 

 

 

[출처]

 

https://gracefulprograming.tistory.com/128

 

[Linux] nohup 세션이 끊겨도 계속 실행되도록 해보자

개요 nohup 명령어는 리눅스에서 프로세스를 실행한 터미널의 세션 연결이 끊어지더라도 지속적으로 동작 할 수 있게 해주는 명령어입니다. 기본적으로 터미널에서 세션 로그아웃(logout)이 발생

gracefulprograming.tistory.com

 

 

728x90
반응형
Comments