728x90
ssh로 쉘 스크립트 실행 시(ssh로 접속하지 않아도 해당 됨.)
1. nohup을 주면 프로그램을 데몬의 형태로 실행하여 로그아웃 등으로 세션이 종료되어도 실행(프로세스) 유지.
1) nohup : no hang up의 약자로 끊지마라는 의미를 가지고 있음.
2. &을 주면 눈에 보이지 않는 백그라운드에서 실행.
ps -ef | grep <해당 쉘 스크립트>로 실행이 유지되고 있음을 확인할 수 있음.
따라서 쉘 스크립트를 nohup과 &을 같이 주면 커넥션을 잡지 않고 백그라운드에서 실행.
만약 잡고 있지 않고 백그라운드 실행을 원하면 쉘 실행 맨 앞에 nohup을 맨 뒤에는 &을 주면 됨.
ex) nifi에서 ssh로 다른 서버에 접속하여 쉘 스크립트를 실행하였을 때
1) nifi에서 커넥션을 잡는 버전 예시 : ./shell_test.sh
2) nifi에서 커넥션을 잡지 않는 버전 예시 : nohup ./shell_test.sh &
-> nifi에서 1)으로 실행하면 해당 실행이 완료될 때까지 flowfile을 hold함.
But, nifi에서 2)으로 실행하면 커넥션이 끊어져도 백그라운드에서 실행이 되기 때문에 flowfile은 다음 프로세서로 넘어가고 실행한 쉘 스크립트는 서버에서 완료될 때까지 실행 됨.
728x90
'Programming Language > Shell Script' 카테고리의 다른 글
SSH passwordless 접속 설정 (0) | 2023.02.03 |
---|---|
[Shell Script] 쉘 스크립트 코딩 팁 (0) | 2023.01.26 |