jenkins 에서 nohup으로 background 프로세스 수행시, 위와 같이 job이 끝나지 않는 경우가 있다. SSH를 통해 스크립트를 수행시, 표준 출력이 닫히거나 timeout이 발생할 때 까지 스크립트가 계속해서 열려있게 된다. 그래서 script로 백그라운드 작업 수행시에는, 아래와 같이 모든 output을 redirect 해줘야 스크립트가 바로 종료가 된다. ( 백그라운드 작업을 실행하는 코드가 포함된 script 를 jenkins에서 보내거나, 로컬 머신에 해당 script가 있거나 마찬가지 ) nohup ./program > /dev/null 2>&1 &
리눅스에서 프로세스를 수행하다보면 표준 출력과 표준 에러를 사용해야 될 경우가 많다. 간단하게 그 개념에 대해서 알아보고 가자. 표준 출력( STDOUT ) 프로그램이 출력 데이터를 기록하는 스트림. 표준 출력의 파일 디스크립터는 1 이다. 표준 에러( STDERR ) 프로그램이 오류 메시지나 진단을 출력하기 위해 일반적으로 쓰는 출력 스트림이다. 표준 출력과 독립적인 스트림이며, 별도로 리다이렉트 가능하다. 파일 디스크립터 특정한 파일에 접근하기 위한 추상키로써, 0은 표준입력(STDIN), 1은 표준 출력, 2는 표준 에러 의 디스크립터로 정의되어 있다. 쉘에서도 이 디스크립터 키를 가지고, 표준 출력이나 에러의 스트림에 기록을 할 수 있다. 예제 # 표준 출력을 버림( /dev/null 로 redi..
nohup HUP( hang up ) 신호를 무시하도록 만드는 POSIX 명령어이다. 쉽게 말해서 터미널에서 프로세스를 수행하고, 터미널이 종료 되더라도 해당 프로세스는 계속 수행된다. ( HUP 신호는 터미널이 의존 프로그램들에게 로그아웃을 알리는 방식이다. ) 터미널로 향하는 출력은 별도로 넘기도록 처리를 하지 않으면 nohup.out 파일에 출력이 된다. 다른 용도로, 표준출력을 다른 곳으로 보내기 위해서도 사용합니다. & background 로 프로세스가 동작하도록 하는 명령어이다. $ nohup ./program &nohup 과 & 차이 nohup 은 터미널이 종료되더라도 계속 수행이 되지만, & 명령어는 백그라운드로 프로세스가 수행이 되긴 하지만 터미널이 종료되면 HUP 신호를 받게 되어 프로..
- Total
- Today
- Yesterday
- Kibana
- docker
- elasticsearch
- tomcat
- Postman
- Size
- JSON
- Spark
- AWS
- error
- install
- spring boot
- Linux
- maven
- Java
- apm
- Index
- spring
- mac
- Git
- JPA
- intellij
- SpringBoot
- plugin
- scala
- Log
- Filter
- Container
- logstash
- gradle
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |