Linux下关闭终端程序被关闭的解决方法(及添加Linux服务)
Linux下,如果通过终端启动,当关闭终端的时候,也会结束当前的进程。
解决方法1. 后台运行。 或者,2. 添加为Linux系统服务,开机自动运行。
1. 后台运行
例如启动OpManager12:
例如启动Applications Manager:
nohup sh startApplicationsManager.sh &
2. 添加为Linux系统服务,开机自动运行
在/etc/init.d/文件下创建文件,名称例如opm, apm
文件内容:
#!/bin/bash
#
# Startup script for the pmagent
#
# chkconfig: 345 99 02
# description: Run the xxx
INITLOG_ARGS=""
prog="xxx"
progname="xxx"
RETVAL=0
# Edit the following to indicate the 'bin' directory for your installation
MDIR=/opt/xxx
if [ ! -d "$MDIR" ]
then
echo "Invalid directory $MDIR"
exit 1
fi
start()
{
mv -f /var/log/xxx.log /var/log/xxx1.log
echo "Starting $progname"
cd $MDIR
nohup sh startxxx.sh >/var/log/xxx.log 2>&1 &
RETVAL=$?
echo
[ $RETVAL = 0 ] && touch /var/lock/Xxx
}
stop()
{
echo "Stopping $progname"
cd $MDIR
sh shutdownxxx.sh >>/var/log/xxx.log 2>&1
}
case "$1" in
start)
start
;;
stop)
stop
;;
*)
echo "Usage: $prog {start|stop}"
exit 1
;;
esac
exit $RETVAL
以上红色背景的行需要根据实际情况修改。
在Redhat类Linux发行版本中允许以下命令安装为服务:
# chmod 755 /etc/init.d/xxx
# chkconfig --add xxx
在Debain类Linux发行版本中允许以下命令安装为服务:
# chmod 755 /etc/init.d/xxx
# update-rc.d xxx defaults