linux中如何重启某一进程

来源:百度知道 编辑:UC知道 时间:2024/06/28 21:03:07
如果是重启某一服务,可以采用“service ** restart”的方法,但是如果是某一process呢?是否可以用发送某个信号的方法让进程重启呢?我试着用“killall **”的方法,但是进程被杀掉了,而不是restart。求高人指教

service .. restart是用脚本实现的,脚本里面先也是Kill掉,然后启动的。因为那个脚本是针对具体的程序的,不是通用脚本

信号简称 数值 代表意义
HUP 1 控制中的终端/程序中断
INT 2 键盘的插入指令(同 Ctrl + C)
QUIT 3 键盘的中断指令(同 Ctrl + \)
TERM 15 程序的终止指令
KILL 9 程序的强制终止指令(暴力砍掉)
CONT 18 程序的再启动指令(STOP(19) 后再重新启动)
STOP 19 程序的停止指令(同 Ctrl + Z)
请参考以上

1、首先使用ps -ef查找进程的执行语句并保留它;这个的目的是保留进程执行的参数不变;
例如重启单个mongodb的过程:
查找:ps -ef|grep mongod
获得:
root 2928 2903 0 14:51 pts/0 00:00:00 grep /usr/local/mongodb/bin/mongod --config /etc/mongodb.cnf
2、使用kill -9 PID杀掉该进程;
kill -9 2928
3、使用保留的进程语句重启进程;

/usr/local/mongodb/bin/mongod --config /etc/mongodb.cnf