Linux 下有些时候我们运行一个进程需要一直挂着(这就是 VPS 的意义啊……),这时候需要把前台进程放到后台去。一般可以用 screen,但是如果这种后台进程挂多了,每个都开一个 session 会很不方便。前几天配置 aria2 的时候看到一个神奇的操作:可以配置成一个 service,直接 service aria2c start/stop/restart 就可以了!

[notice]经测试,此方法在 CentOS 7 可能无效……[/notice]

以配置 aria2c 为例,假设我们要运行这个命令(程序),并且放在后台:

/usr/local/bin/aria2c --conf-path=/root/.aria2/aria2.conf -D

可以写如下配置文件:

#!/bin/sh
### BEGIN INIT INFO
# Provides: aria2
# Required-Start: $remote_fs $network
# Required-Stop: $remote_fs $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Aria2 Downloader
### END INIT INFO
case "$1" in
start)
 echo -n "Starting aria2c"
 /usr/local/bin/aria2c --conf-path=/root/.aria2/aria2.conf -D
 ;;
stop)
 echo -n "Shutting down aria2c"
 killall aria2c ;;
restart)
 killall aria2c
 /usr/local/bin/aria2c --conf-path=/root/.aria2/aria2.conf -D
 ;;
esac
exit

把文件保存为 aria2c,然后给予运行权限:

chmod +x aria2c

移动到 /etc/init.d/ 目录下:

mv aria2c /etc/init.d/

使用方法:

service aria2c start
service aria2c stop
service aria2c restart

来源

centos安装aria2 - 云+社区 - 腾讯云