Linux中的进程管理 进程优先级: 静态优先级:100-139,手动调整 nice值:-20-19 动态优先级:0-99,实时优先级 查看进程: ps (process) 跟终端相关的进程:base,leader 跟终端无关的进程: -e :显示所有的进程(有关+无关) -a :所有跟终端无关的 -x :所有跟终端有关的 -u :显示进程是由哪个用户发起的进程 -F :常用-e,显示完整信息 -j :jobs format,作业形式 -H :显示进程间的关系 -o :自定义显示那些字段 eg:ps -eo pid,%cpu,comm
常用组合 -ejH -axjf -ax -aux
PID:进程号 PPID:父进程 init:产生所有进程的开始 [root@server71 myscrip]# ps ax PID TTY STAT TIME COMMAND 累计时间 加中括号的是内核线程 [root@server71 myscrip]# ps aux USER PID %CPU %MEM VSZ RSS TTY
虚拟内存 物理内存
STAT START TIME COMMAND free 查看内存使用状态
-m :以M为单位
-l :列出内存使用情况
Linux中一旦有物理内存就不使用虚拟内存 pgrep -G 查看指定用户组进程号 -u 查看指定用户的进程号 pidof cupsd 查看某个特定进程的进程号 进程之间:IPC 信号:微小的信息 kill -l 查看进程信号 kill -id kill -HUP (去掉SIG) kill -进程全称
进程信号如下所示: 1) SIGHUP ===服务重新读取配置文件 2) SIGINT ===ctrl+c 9) SIGKILL 没商量的kill,可能会导致未见丢失 15) SIGTERM 允许信息同步后在关闭 18) SIGCONT 继续 19) SIGSTOP 停止,相当于使用ctrl+z对前台的程序 默认是15信号 kill只能kill进程id, killall + 只能加进程名 杀死全部 pkill SIGNAL pattern 进程调度: 进程优先级: 静态优先级:nice值-20~19 nice:启动进程时直接指定nice值 eg: nice -n 6 COMMAND nice -n 6 /usr/sbin/cupsd nice -n 6 ls 只有管理员能降低nice值 renice:为正在运行的进程修改nice renice N PID eg:renice 5 423 作业控制: jobs 前台:占用当前shell 后台:在命令后面加上一个&就会放在后台运行,运行结束后通
知 eg:cp -r /etc/ /tmp/aa & nohup 正常情况下,为了使程序在用户退出后依然能够继续运行,这时使用nohup命令,使用该命令运行的后台进程,默认会把程序的输出信息重定向到当前目录的nohup.out文件
eg: nohup cp -r /etc/ /tmp/aa & 前台放到后台使用ctrl+z 后台放到前台使用fg 使用jobs查看后台所有的作业 fg + %编号:把指定的后台调到前台 fg 默认吊起带加号的文件
firefox & 放在后台运行,而使用ctrl+z放在后台停止(jobs
查看) kill %(jobsID) bg %(jobsID) 就是让后台stop的jobs运行
进程状态: ready:就绪状态 running:运行状态 sleep: 睡眠态 stopped:停止状态 D:不可中断的睡眠 R:running或ready S: 可中断的睡眠 T:停滞态 Z:zombie 僵尸态 <: 高优先级的进程 N:第优先级的进程 +:属于某一个前台进程组的进程 s:某一个进程组的leader进程 l:多线程的进程