当前位置: 首页 > 科技观察

Linux进程和作业管理详解

时间:2023-03-12 18:50:39 科技观察

1、进程查看和管理工具ps命令:上报当前进程的快照信息ps-reportasnapshotofthecurrentprocesses。选项:-A:显示所有进程,效果与-e相同-a:不与终端相关的所有进程-u:与用户相关的进程-x:通常与a、u结合使用,显示更全面的信息-f:做更完整的输出常用组合:ps-ef完整信息显示所有进程信息ps-efH显示进程层次结构ps-aux显示所有与终端和终端无关的进程的完整信息ps-axopid,command,psr,pri,ni自定义显示其进程号、进程命令、优先级、nice值命令演示:UID/PID/PPID:表示发起者、进程ID、父进程IDC:表示CPU,单位为百分比STIME:表示进程startuptimeTTY:登录的终端位置TIME:cpu的运行时间CMD:penaltyprocesscommand命令demo:USER:进程发起者PID:进程号%CPU:cpu占用率%MEM:内存占用率VSZ:虚拟内存设置RSS:physicalmemorysetTTY:终端位置STAT:进程状态信息START:触发时间TIME:CPU使用时间COMMAND:触发进程命令...............................................................................................................................…………………………………………注:STAT常用状态:R:运行,运行状态S:可中断休眠,终端可休眠D:不可中断休眠g、终端无法休眠T:stop,停止状态Z:zombie,僵持状态top命令:top-displaylinuxtasks:动态显示linux进程信息top-17:24:30up2days,9:45,3users,loadaverage:0.00,0.01,0.05top当前系统时间从系统启动到现在的总时间平均负载用户数Status%Cpu(s):0.3us,0.7sy,0.0ni,99.0id,0.0wa,0.0hi,0.0si,0.0st………………………………………………………………………………………………………显示CPU的整体负载,如下:us:userspace用于使用的空间sy:systemspace内核占用CPU的百分比ni:percentageofcpuprocessesoccupiedbyniceuserhaschangedbyniceuser进程空间id:idle空闲cpu的百分比wa:waiti/0等待i/o的时间hi:hardwareinterruptsi:softwareinterruptst:stolen,stolenbyvirtualmemory,654388buff/缓存物理内存使用KiBSwap:2098总共172个,免费2097620个,使用552个。531424availMem交换分区的使用上一行通常为空,只有在输入命令时才会显示。这里可以输入的命令如下:P:进程按照占用cpu的百分比排序M:按照占用内存大小排序T:按照cpu运行时间排序l:显示系统负载线t:是否显示系统进程汇总信息和cpu负载状态1:平均或单独显示cpu负载状态m:是否显示内存相关状态信息q:退出命令s:修改和延长刷新时间k:终止指定进程……………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………top,越小越早运行%MEM:内存使用百分比TIME+:cpu使用总时长COMMAND:进程相关命令htop命令:内部进程查看器htop-interactiveprocessvieweru:显示指定用户的进程l:显示光标所在进程打开的文件列表s:显示光标所在进程执行的系统调用a:将进程绑定到指定cpu#:快速定位到光标下pid为#的进程。htop支持的选项:-d:延长持续时间-uUSERNAME:只显示指定用户的进程-sCOLUMN:根据对指定字段进行排序二、Linux进程和作业管理1、进程管理所谓进程管理就是向进程发送一些控制信号,完成对进程的管理和控制。kill命令可以用来显示当前系统可用的信号,并向进程发送信号指定kill-l:显示当前系统可用的信号kill命令:用来给进程发送信号给实现进程的管理kill-terminateaprocess每个信号的识别方式有3种:1)信号的数字标识2)信号的全称3)信号的简称向进程发送信号:kill[-ssignal|-p][--]pid...kill-l[signal]常见的信号有:1)SIGHUB#不需要关闭进程让它重新读取配置文件kill-1pid2)SIGINT#终止进程running命令等同于ctrl+ckill-2pid9)SIGKILL#暴力杀死正在运行的进程kill-9pid15)SIGNTERM#安全终止正在运行的进程kill-15pid19)SIGSTOP#停止进程killall命令:后面是killall命令通过进程名killall-killprocessesbyname2、jobmanagement每个用户登录系统后,每个工作进程都是当前bash的子进程,这时候我们需要对那些进程进行管理,就是把一些工作放到后台,在前台编辑一个配置文件同时。修改配置文件后,将后台作业任务调回前台运行。如何在后台运行作业:1)ctrl+z2)command&作业控制命令:fgbgkill作业控制命令:#fg[[%]JOBNUM]:将指定的作业带回前台#bg[[%]JOBNUM]:让发送到后台的作业在后台继续运行#kill[%JOBNUM]:终止指定的作业