프로그래밍과 잡담

[라스비안] jar 파일을 OS가 시작 시 실행하기 본문

프로그래밍/Java,Kotlin

[라스비안] jar 파일을 OS가 시작 시 실행하기

크레온 2017. 8. 19. 16:51

윈도우면 그냥 배치파일같은거 하나 만들어서 시작 프로그램에 집어 넣으면 되는데..


리눅스는 그렇게 안되고 배치 스크립트를 만들고  "/etc/rc.local"를 vim으로 수정을 해야한다.



vim이나 vi로 열면 아래 처럼 나오는데...


#!/bin/sh
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

# Print the IP address
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
	printf "My IP address is %s\n" "$_IP"
fi

# 여기에 자신이 만든 스크립트의 주소를 넣는다.
./home/userid/test/test.sh

exit 0



자바의 같은 경우 실행을 할려면 구글을 검색해보니..

nohup를 사용해야 한다고 한다.. 그것을 사용한 예제...


#!/bin/bash

#자바 실행 스크립트
nohup java -jar test.jar > log.txt 2> errors.txt < /dev/null &

PID=$!

echo $PID > pid.txt


nohup의 경우 그냥 실행하면 이상하게 나같은 경우에는 nohup가 없다고 나와서..


nohup 앞에 /usr/bin/를 추가했다. java도 마찬가지..


뒤에 추가된 파일 이름들은

log.txt 는 자바에서 콘솔 출력을 한 경우에 저 파일에 기록된다.

error.txt 는 예외가 발생한 경우,

pid.txt 는 자바파일을 실행 중인 프로세서 ID 이다.



이노무거 때문에 오지게 고생했네...

반응형
Comments