【Linux系列教程】进程调度和控制
一、nohup命令
1.将命令放到后台运行
# nohup 命令 &
# nohup sleep 100 &
2.查看后台运行的任务
# jobs -l
[1]+ 5200 Running nohup sleep 100 &
3.讲任务调回前台
# fg 任务编号
[root@localhost ~]# fg 1
nohup sleep 100
4.讲正在运行的任务调入后台,并且暂停运行
二、向进程发送信号
1.kill命令
# kill [-信号编号/名称] PID
# killall [-信号编号/名称] 进程名称
2.查看信号
[root@localhost ~]# kill -l
1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP
6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1
11) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM
16) SIGSTKFLT 17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP
21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ
26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO 30) SIGPWR
31) SIGSYS 34) SIGRTMIN 35) SIGRTMIN+1 36) SIGRTMIN+2 37) SIGRTMIN+3
38) SIGRTMIN+4 39) SIGRTMIN+5 40) SIGRTMIN+6 41) SIGRTMIN+7 42) SIGRTMIN+8
43) SIGRTMIN+9 44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12 47) SIGRTMIN+13
48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-13 52) SIGRTMAX-12
53) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9 56) SIGRTMAX-8 57) SIGRTMAX-7
58) SIGRTMAX-6 59) SIGRTMAX-5 60) SIGRTMAX-4 61) SIGRTMAX-3 62) SIGRTMAX-2
63) SIGRTMAX-1 64) SIGRTMAX
3.常用信号
15 SIGTERM
[root@localhost ~]# kill -15 6879
[root@localhost ~]# kill 6887
9 SIGKILL
[root@localhost ~]# kill -9 6893
1 SIGHUP
# kill -HUP 父进程ID
[root@localhost ~]# rpm -q httpd #安装阿帕奇服务器测试
httpd-2.4.6-97.el7.centos.5.x86_64
[root@localhost ~]#
[root@localhost ~]# systemctl start httpd
[root@localhost ~]#
[root@localhost ~]# ps -elf | grep http
4 S root 7194 1 2 80 0 - 77604 poll_s 09:43 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
5 S apache 7195 7194 0 80 0 - 77604 inet_c 09:43 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
5 S apache 7196 7194 0 80 0 - 77604 inet_c 09:43 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
5 S apache 7197 7194 0 80 0 - 77604 inet_c 09:43 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
5 S apache 7198 7194 0 80 0 - 77604 inet_c 09:43 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
5 S apache 7199 7194 0 80 0 - 77604 inet_c 09:43 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
0 S root 7201 6829 0 80 0 - 28203 pipe_w 09:43 pts/0 00:00:00 grep --color=auto http
[root@localhost ~]#
[root@localhost ~]# netstat -tunlp | grep http #阿帕奇默认端口是80
tcp6 0 0 :::80 :::* LISTEN 7194/httpd
[root@localhost ~]# vim /etc/httpd/conf/httpd.conf
Listen 7777 #修改监听端口为7777
[root@localhost ~]# kill -HUP 7194
[root@localhost ~]# netstat -tunlp | grep http
tcp6 0 0 :::7777 :::* LISTEN 7194/httpd #修改成功,并且进程号没有变