우분투 16.04.06 init.d venv 만들기
#!/bin/bash
### BEGIN INIT INFO
# Provides: tunnel
# Required-Start: $syslog $local_fs $time
# Required-Stop: $syslog $local_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: tunnel_handler
# Description: Handler of NSCA tunnel
### END INIT INFO
PATH=/home/user/bin:/home/user/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
VENV=/home/user/paper/venv
WORKDIR=/home/user/paper/MultiprocessingQueue
DAEMON=Client_queue_consume.py
LOG=/var/log/tunnel.log
ERRORLOG=/var/log/tunnelerror.log
function do_start()
{
source /home/user/.profile
source ${VENV}/bin/activate
cd ${WORKDIR}
nohup python3.7 ${DAEMON} & >> ${LOG} >> ${ERRORLOG}
}
function do_stop()
{
PID=`ps -ef | grep ${DAEMON} | grep -v grep | awk '{print $2}'`
if [ "$PID" != "" ]; then
kill -9 $PID
fi
}
case "$1" in
start|stop)
do_${1}
;;
reload|restart)
do_stop
do_start
;;
*)
echo "Usage: /etc/init.d/tunnel {start|stop|restart}"
exit 1
;;
esac
exit 0
export LC_ALL='en_US.UTF-8'
sudo vi /etc/init.d/tunnel
sudo update-rc.d tunnel defaults
sudo service tunnel start
sudo service tunnel stop
cat /var/log/tunnel.log
cat /var/log/tunnelerror.log