Linux下关闭终端程序被关闭的解决方法(及添加Linux服务)

Linux下关闭终端程序被关闭的解决方法(及添加Linux服务)

Linux下,如果通过终端启动,当关闭终端的时候,也会结束当前的进程。

解决方法1. 后台运行。 或者,2. 添加为Linux系统服务,开机自动运行。


1. 后台运行


nohup 命令 &


例如启动OpManager12:


nohup sh run.sh &

例如启动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