进程:linux中,运行每一个二制进程序或触发每一个事件,系统都会将它定义为一个进程,并给一个进程号,称为PID。同时依据触发这个进程的用户与相关属性关系,给予这个PID一组有效的权限设置。
如,执行base后,系统就会给base一个PID号,下面的15106就是base的进程号。
进程创建
内核创建第一个进程init,其他所有的进程都是由init(systemd)创建,是init(systemd)的子进程,init(systemd)的进程号是1 init (centos7的是systemd) 父子关系 进程:都是父进程创建,所有的进程都init或systemd的子、孙、孙孙进程 父进程使用的空间,子进程也使用父进程的空间。一旦子进程需要修改进程的数据时,系统会复制一份父进程的空间,给预子进程专门使用
进程优先级:
优先级范围0-139 0-99:实时优先级,数字越大,优先级越高 100-139:静态优先级,数字越小,优先级越高。 调整优先级的Nice值: -20到19,其中-20对应100,19对应139,以此类推 备注:root用户的nice值范围是-20至19,普通使用的1-19,且普通用户只能把nice的值调大,不能调小。如原来nice值是5,那么普通用户调整的nice只能大于5
进程的状态
进程状态: 运行状态:running 就绪状态:ready 睡眠状态: 可中断:interruptable 不可中断:uniterruptable 停止状态:sotp 暂停于内存中,但不会被调试,除非手动启动之
查看系统进程树命令 pstree
常用选项有: -p 同时显示每个进程的PID号
静态进程查看器命令 PS
PS命令是在执行的那一瞬时,对系统上所有的进程进行一个快照,并显示出来的。
ps [option..] 常用option有: -l 显示较详细的PID信息 u:以用户为中心组织进程状态信息显示 a:以终端相关的进程 x:与终端无关的进程 -f 显示完整的信息 -e 相当于 ax 常用的组合有:aux(没有-) -ef
ps -l 说明
划画的选项说明: F 代表进程的权限标志:F的值常见有4与1,4代表的权限是root,1代表此子进程仅可以复制(fork)而无法实际执行(exec) S 代表运行状态:S 表示处于睡眠但可唤醒、R 表示处于运行状态、D表示处于睡眠但不可唤醒、T表示停止状态、Z是僵死状态 PID 是进程的PID号 PPID 是进程的父进程PID号。在执行ps -l后,我又执行了bash命令,可通过PPID的值,确定此bash的父进程号是3367 C 表示CPU的使用率,以百分比显示 PR是priority,表示优先级 NI是nice的缩写,表示nice值 ADDR 是指此进程在内存中的哪个部分,一般显示"-" SZ 表示此进程使用的内存 WCHAN 表示进程是否正在运行,可结合S位置的状态查看 TTY 是终端位置 TIME 使用的CPU时间 CMD 全称是commadn,表示由此进程是由哪个命令执行的
查看系统上所有的进程 px aux
aux运行结果说明:USER 进程的属主 PID 进程的ID号 %CPU 占据CPU的时间集百分比 %MEM 占据内存的时间集百分比 VSZ Virtual memory SiZe,虚拟内存集 RSS RSS: ReSident Size, 常驻内存集,不能被交换到交换分区的数据 TTY 哪个终端启动的信息,问号?表示与终端无关 STAT 进程的状态信息 R:running S:interruptable sleeping 可中断的睡眠状态 D:uniterruptable sleeping 不可中断的睡眠状态 T:stop 停止状态 Z:zombie假死状态 +:前台进程 l:多线程进程 <:高优先级进程 N:低优先级进程 s:session leader 一个进程启动时,有时会同时引导其他多个进程启动,如果此进程被停止,那其他进程也将被停止 START:启动的时间 TIME:运行的累计时时间 COMMAND :由哪个命令启动的
基于命令名称或进程PID显示相关属性命令 pgrep
pgrep 常用选项有: -o:仅显示找到的最小(起始)进程号 -n:仅显示找到的最大(结束)进程号 -l:显示进程名称 -P:指定父进程号 -g:指定进程组 -t:指定开启进程的终端 -u:指定进程的有效用户ID
动态查看进程情况top命令
常用选项: -d 设定刷新的时间,默认是5s。top -d 1即每1秒刷新一次 -b 以批次的方式执行top -n 与-b结合使用,意思是需要执行多少批次的top -p 查看指定PID的信息 内置功能键: p:以占据CPU的百分比 M:占据内存的百分比 T:累积占据CPU时长 ? 显示在top可以输入的命令 N 以PID值排列 K 给指定的PID发送一个signal信号 r 调整指定的PID的nice值 q 离开 1 数字1,显示多个CPU的情况
top运行说明
PID 是进程ID USER 是属主 PR 是优先级 NI 是Nice值 VIRT 虚拟内存值 RES 常信内存值 SHR 共享内存大小值 S 进程运行的当前状态 %CPU 占据CPU百分比 %MEM 占据内存百分比 TIME+ 累计运行时长 COMMAND 启动进程命令
修改指定进程的优先级
修改完成,并发sshd PID15102的优先级从20调整成了25,而nice值为5
终止进程
按k键,可指进程根据发送的信号执行相应的动作。 可发送的信号: [root@mfc ~]# kill -l 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL10) SIGUSR1 11) SIGSEGV12) SIGUSR213) SIGPIPE14) SIGALRM15) SIGTERM 16) SIGSTKFLT17) SIGCHLD18) SIGCONT19) SIGSTOP20) SIGTSTP 21) SIGTTIN22) SIGTTOU23) SIGURG24) SIGXCPU25) SIGXFSZ 26) SIGVTALRM27) SIGPROF28) SIGWINCH29) SIGIO30) SIGPWR 31) SIGSYS34) SIGRTMIN35) SIGRTMIN+136) SIGRTMIN+237) SIGRTMIN+3 38) SIGRTMIN+439) SIGRTMIN+540) SIGRTMIN+641) SIGRTMIN+742) SIGRTMIN+8 43) SIGRTMIN+944) SIGRTMIN+1045) SIGRTMIN+1146) SIGRTMIN+1247) SIGRTMIN+13 48) SIGRTMIN+1449) SIGRTMIN+1550) SIGRTMAX-1451) SIGRTMAX-1352) SIGRTMAX-12 53) SIGRTMAX-1154) SIGRTMAX-1055) SIGRTMAX-956) SIGRTMAX-857) SIGRTMAX-7 58) SIGRTMAX-659) SIGRTMAX-560) SIGRTMAX-461) SIGRTMAX-362) SIGRTMAX-2 63) SIGRTMAX-164) SIGRTMAX 常用信号说明, 1)SIGHUP 通知进程在不关闭进程的情况下重读配置文件 2)SIGINT 中止正在运行的进程,相当于ctrl+c 9)SIGKILL 强制关闭进程 15)SIGTERM 正常终止正在运行的进程。 18)SIGCONT:让处于停止状态的进程启动 19)SIGSTOP:让进程转入到停止状态
运行top后,屏幕显示有限,无法查看全部的进程信息,可以通过输出重定向,把top进行的批次信息保存到指定文件中,如果有需要,可以指定某个时间段运行,以保存指定时间的系统运行情况
动态查看进程变化命令top的变种命令 htop
功能比top强大,可以直接通过鼠标操作,显示画面详细而易懂。
虚拟内存查看命令 vmstat
vmstat [options] [delay [count]]
说明: procs: r:等待运行的进程个数。如果是单个CPU,有超过3个等运行的进程数,则表示CPU性能不足。 b:处于不可中断睡眠状态的进程个数(被阻塞的队列个数) memory: swdp:虚拟内存的使用总量 free:物理内存的空闲总量 buffer:用于buffer的内存总量 cache:用于cache的内存问题 swap: si:数据进入swap中的数据速率(kb/s) so:数据离开swap的数据速率(kb/s) io: bi:从块设备读入数据到系统的速率(kb/s) bo:保存数据到块设备的速率(kb/s) system: in:中断速率 cs:进程切换速率 cpu: us 使用的比率 sy 内核使用比率 id 空闲比率 wa 等待IO完成所需要的时间比率,wa的值高时,说明IO等待比较严重,这可能由于磁盘大量作随机访问造成,也有可能磁盘出现瓶颈(块操作) st 被虚拟化技术使用的比率
显示汇总信息vmstat -s
dstat 可以实时的监控cpu、磁盘、网络、IO、内存等使用情况,且彩色、默认每1秒刷新一次的动态显示
dstat [-afv] [options..] [delay [count]]
dstat 默认使用选项-cdngy
常用选项 -c 显示cpu的内核、用户、空闲、写入等待、硬中断、软中断等信息,默认自带此项 -C #,#....total 显示单个或汇总 -d 显示磁盘的读写速率 -D #,#....total 显示单个或汇总 -g 显示page(内存页面)换进换出的统计信息 -m 显示memory相关统计数据 -n 显示网络相关统计数据 -p 显示进程相关统计数据 -r 显示I/O读写请求相关的统计数据 -t 显示系统时间 -y 显示系统信息 -f 显示文件系统的打开文件的相关信息 --ipc 显示进程间通信的相关统计信息 --top-cpu 显示最耗CPU资源的进程信息 --top-io 显示最点用IO性能的进程信息 --top-mem 显示最耗内存的进程信息 --top-latency 显示延迟最大的进程信息 --tcp 显示TCP信息 --udp 显示UDP信息 --socket 用来显示tcp udp端口状态 --raw 显示 --unix 说明: cpu:hiq、siq分别为硬中断和软中断次数。 system:int、csw分别为系统的中断次数(interrupt)和上下文切换(context switch)。
glances命令 可以监视 CPU,平均负载,内存,网络流量,磁盘 I/O,其他处理器 和 文件系统 空间的利用情况。
glances [-bdehmnrsvyz1] [-B bind] [-c server] [-C conffile] [-p port] [-P password] [--pass‐word] [-t refresh] [-f file] [-o output] glances内置命令如下: a Sort processes automatically l Show/hide logs c Sort processes by CPU% b Bytes or bits for network I/O m Sort processes by MEM% w Delete warning logs p Sort processes by name x Delete warning and critical logs i Sort processes by I/O rate 1 Global CPU or per-CPU stats d Show/hide disk I/O stats h Show/hide this help screen f Show/hide file system stats t View network I/O as combination n Show/hide network stats u View cumulative network I/O s Show/hide sensors stats z Show/hide processes list y Show/hide hddtemp stats q Quit (Esc and Ctrl-C also work) 常用选项: -b:以byte为单位显示网卡数据速率 -d:关闭磁盘IO模块 -f /filne_name/file_name设定输入文件位置及格式 -o {HTML|CSV} 输出格式 -m 禁用mount模块 -n 禁用网络模块 -t # :延迟时间时隔 -1:每个CPU的相关数据信息单独显示 C/S模式下运行的glances命令 服务模式: glances -s -B ip_address #指定网卡的IP地址 客户端模式: glances -c server_ipaddress #连接服务器的IP地址,链接成功后可查看服务器的glances的信息
开启服务器模式
kill命令用来删除执行中的程序或工作。
kill可将指定的信息送至程序。默认发送的信号是SIGTERM(15),可将指定程序终止。若仍无法终止该程序,可使用SIGKILL(9)信号尝试强制删除程序。
选项如下: -a:当处理当前进程时,不限制命令名和进程号的对应关系; -l <信息编号>:若不加<信息编号>选项,则-l参数会列出全部的信息名称; -p:指定kill 命令只打印相关进程的进程号,而不发送任何信号; -s <信息名称或编号>:指定要送出的信息; -u:指定用户
作业管理jobs命令
作业分类: 前台作业:在终端中显示、让用户操作的作业称为前台作业 后台作业:可以自动运行、无法通过ctrl+c 取消的作业,可以通过fg命令调用。 后台作业有三种状态:运行状态(running)和 停止状态(stop)、完成状态(done)。后台作业处于运行状态的进程,必须不是交互的。
把命令从前台转到后台 ,在执行命令的后面加“&”
交互式转到后台ctrl+z
调用fg、终止作业kill、
通过kill,终于处于后台的作业 kill -s -s 9 %作业号 (作业号前加%,否则会误以为对进程PID发送信息)
通过bg命令,把处于 stop状态的作业,转换为running(运行)状态。
原创文章,作者:Net20-deamon,如若转载,请注明出处:http://www.178linux.com/17292
评论列表(1条)
已置顶,欢迎加入免检家庭