通过Putty工具远程连接腾讯云服务器,编写好程序编译链接成可运行程序以后在终端中可运行。若是断开Putty,相当于关闭终端。当前运行的程序就不再运行了。相当于终端的进行被释放了。此时若想程序继续运行可以将可执行文件作为系统服务项,类似于mysql数据库一样,开机启动,关机停止。下面是具体做法:
新建程序,编译连接运行后,进入/etc/init.d/目录下,新建服务脚本文件:vim remote-logins
#!/bin/bash SERVERNAME="remote-login" start() { echo "start $SERVERNAME" nohup /usr/sbin/$SERVERNAME & //关闭终端后继续运行需要用到nohup命令 echo "start $SERVERNAME ok!" exit 0; } stop() { echo "stop $SERVERNAME" killall $SERVERNAME echo "stop $SERVERNAME ok!" } case "$1" in start) start ;; stop) stop ;; restart) stop start ;; *) echo "usage: $0 start|stop|restart" exit 0; esac exit保存后退出。注意:可执行文件需要复制到/usr/sbin下 该目录下均为可执行文件
nohup /usr/sbin/$SERVERNAME & //关闭终端后继续运行需要用到nohup改变服务脚本文件权限:
chmod +x remote-logins //改变文件读写权限之后就可以使用命令启动服务了。
service remote-logins start现在程序可以一直在后台运行了,但是若是服务器断电重启需要手动开启服务,因此还需要建立软连接实现开机自启动
ln -s /etc/init.d/remote-logins /etc/rc5.d/S90remote-logins //建立软连接 ln -s /etc/init.d/remote-logins /etc/rc5.d/K90remote-logins //建立软连接该命令 可自动在/etc/rc5.d/下生成一个S90remote-logins的文件。其中/etc/rc5.d是Linux的启动顺序。
S90remote-logins 中 S表示启动 90表示启动优先级 若有依赖项如数据库mysql,则启动优先级应该小于mysql服务 数值越大 表示优先级越低
K90remote-logins 中 K表示系统关闭是退出服务优先级