L. Linux进程管理
//ps -l显示长格式进程信息
//其中PID表示进程ID,PPID表示其父进程ID
[root@hadoop01 ~]# ps
PID TTY TIME CMD
3716 pts/0 00:00:00 bash
3731 pts/0 00:00:00 ps
[root@hadoop01 ~]# ps -l
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
4 S 0 3716 3712 0 80 0 - 27081 do_wai pts/0 00:00:00 bash
4 R 0 3732 3716 0 80 0 - 27037 - pts/0 00:00:00 ps
输出格式对应字段含义:
F 进程的标志,
S 进程的状态,
PID 进程的ID,
PPID 进程的父进程ID,
C 进程的CPU占用率,
PRI 进程的优先权,
NI 进程的Nice值,
ADDR 进程的地址空间,
SZ 进程占用内存的大小,
WCHAN 进程当前是否在运行,
TTY 进程所属终端,
Time 进程的运行时间,
CMD 进程的命令.
前台进程指的是进程在执行时会将命令行阻塞,直到进程执行完毕;后台进程指的是进程在执行时不会阻塞当前命令行,而是在系统后台执行。
[root@hadoop01 ~]# ping www.baidu.com
PING www.a.shifen.com (111.13.100.91) 56(84) bytes of data.
64 bytes from 111.13.100.91: icmp_seq=1 ttl=128 time=18.5 ms
64 bytes from 111.13.100.91: icmp_seq=2 ttl=128 time=20.6 ms
64 bytes from 111.13.100.91: icmp_seq=3 ttl=128 time=18.7 ms
64 bytes from 111.13.100.91: icmp_seq=4 ttl=128 time=17.0 ms
64 bytes from 111.13.100.91: icmp_seq=5 ttl=128 time=17.1 ms
64 bytes from 111.13.100.91: icmp_seq=6 ttl=128 time=17.2 ms
64 bytes from 111.13.100.91: icmp_seq=7 ttl=128 time=16.8 ms
64 bytes from 111.13.100.91: icmp_seq=8 ttl=128 time=16.8 ms
64 bytes from 111.13.100.91: icmp_seq=9 ttl=128 time=17.4 ms
^Z
[1]+ Stopped ping www.baidu.com
[root@hadoop01 ~]#
ctrl+z进入后台
ps 命令常用选项包括:
(1)a显示所有用户的进程
(2)u显示用户名和启动时间
(3)x显示所有进程,包括没有控制终端的进程
(4)e显示所有进程,包括没有控制终端的进程,较x选项,信息更为简略
(5)l显示进程详细信息,按长格式显示
[root@hadoop01 ~]# ps -au
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.8/FAQ
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1675 0.0 0.0 4068 592 tty1 Ss+ 05:39 0:00 /sbin/mingetty /dev/tty1
root 1677 0.0 0.0 4068 588 tty2 Ss+ 05:39 0:00 /sbin/mingetty /dev/tty2
root 1679 0.0 0.0 4068 588 tty3 Ss+ 05:39 0:00 /sbin/mingetty /dev/tty3
root 1684 0.0 0.0 4068 592 tty4 Ss+ 05:39 0:00 /sbin/mingetty /dev/tty4
root 1687 0.0 0.0 4068 592 tty5 Ss+ 05:39 0:00 /sbin/mingetty /dev/tty5
root 1691 0.0 0.0 4068 588 tty6 Ss+ 05:39 0:00 /sbin/mingetty /dev/tty6
root 3716 0.0 0.1 108324 1912 pts/0 Ss 21:04 0:00 -bash
root 3769 0.0 0.1 109592 1028 pts/0 T 21:37 0:00 ping www.baidu.com
root 3770 0.0 0.1 110248 1188 pts/0 R+ 21:41 0:00 ps -au
[root@hadoop01 ~]# ps -aux
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.8/FAQ
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.1 19364 1536 ? Ss 05:38 0:03 /sbin/init
root 2 0.0 0.0 0 0 ? S 05:38 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? S 05:38 0:00 [migration/0]
root 4 0.0 0.0 0 0 ? S 05:38 0:00 [ksoftirqd/0]
root 5 0.0 0.0 0 0 ? S 05:38 0:00 [stopper/0]
root 6 0.0 0.0 0 0 ? S 05:38 0:00 [watchdog/0]
输出格式中对应字段含义:
USER: 进程所有者
PID: 进程号
%CPU: CPU占用率
%MEM: 内存占用率
VSZ:表示如果一个程序完全驻留在内存的话需要占用多少内存空间;
RSS:指明了当前实际占用了多少内存;
TTY: 终端的次要装置号码 (minor device number of tty)
STAT: 该进程程的状态,有以下值
D: 不可中断的静止
R: 正在执行中
S: 静止状态
T: 暂停执行
Z: 不存在但暂时无法消除
W: 没有足够的记忆体分页可分配
<: 高优先序的进程
N: 低优先序的进程
L: 有记忆体分页分配并锁在记忆体内
START: 进程开始时间
TIME: 执行的时间
COMMAND:所执行的指令
kill -9 pid,强制关闭进程
[root@hadoop01 ~]# ps -l
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
4 S 0 3716 3712 0 80 0 - 27081 do_wai pts/0 00:00:00 bash
4 T 0 3769 3716 0 80 0 - 27398 do_sig pts/0 00:00:00 ping
4 R 0 3790 3716 0 80 0 - 27035 - pts/0 00:00:00 ps
[root@hadoop01 ~]# kill -9 3769
[root@hadoop01 ~]# ps -l
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
4 S 0 3716 3712 0 80 0 - 27081 do_wai pts/0 00:00:00 bash
4 R 0 3791 3716 0 80 0 - 27035 - pts/0 00:00:00 ps
[1]+ 已杀死 ping www.baidu.com
[root@hadoop01 ~]#
进程的前台后台切换:
ctr+c命令终止进程
ctr+z命令挂起进程
jobs:该命令用于查看当前终端后台运行的任务。
ps:该命令用于查看瞬间进程的动态。
fg命令将进程转到前台执行
bg命令将进程转到后台执行
开启Crontab服务
检查是否安装:
crontab -l
安装:
yum install crontabs
查看服务状态
service crond status
开启服务
service crond start
crontab -e 命令可以在vi中编辑任务, 如下面代码每一分钟向文本写入当前日期
* * * * * date >> ~/log.txt
分钟(0-59) 小时(0-23) 日期(1-31) 月份(1-12) 星期(0-6,0代表星期天) 命令