Linux常用命令(进程命令)

来源:互联网 发布:售价金额和算法 编辑:程序博客网 时间:2024/06/05 07:01

linux中所有的进程都是相互联系的,除了初始化进程(init进程,进程号为1,无父进程),所有的进程都有一个父进程。

新的进程不是被建立的,而是被复制的,或者从以前的进程复制而来。

1、调度启动进程

at命令

用户使用at命令在指定时刻执行指定的命令。

例:指定凌晨1:00执行命令,在哪天的凌晨1:00执行那?如果是在头一天22:00制订,在凌晨1:00前退出系统,则该命令将会在第二天凌晨1:00才执行。

at命令只能被执行一次

语法

at [-V] [-q 序列] [-f 文件名] [-mldbv] 时间at –c 作业 [作业…]

例:

at 17:30at 17:30 todayat now + 5 hoursat 17:30 2/24/2010

在任何情况下,只有root用户可以使用at命令,对于其它用户是否可以使用,取决于两个文件(/etc/at.allow 和 /etc/at.deny)

 

cron命令

 

crontab命令

分钟 小时 一个月的第几天 一年的第几个月 一周的第几天 命令

 

2、进程的挂起及恢复

挂起

ctrl+z可以挂起当前的前台作业

查看

用jobs命令可以显示shell的作业清单,包括具体的作业,作业号,作业所处的状态。

恢复

两种选择

  • 用fg命令将挂起的作业放回到前台执行
  • 用bg命令将挂起的作业放回到后台执行

 

3、进程管理

who命令

显示目前有那些人在使用

/usr/bin目录下

uname [-参数]

 

w命令

类似于who命令,但比who命令更强大,可以显示当前用户正在执行的工作

 

ps命令:显示目前有哪些程序在执行

/bin目录下

ps [-参数]

-e列出所有进程-h不显示标题-l以长格式显示更详细的资料-u按用户名和启动时间的顺序来显示进程-a显示所有用户的所有进程(包括其它用户)-x显示无控制终端的进程-f用树形格式来显示进程-r显示运行中的进程-j用任务格式来显示进程-w宽输出-ww避免详细参数被截断

常用的参数组合是 aux 或 lax,还有参数 f 的应用

输出的解释

USER进程的属主PID进程的IDPPID 父进程%CPU 进程占用的CPU百分比%MEM 占用内存的百分比NI进程的NICE值,数值大,表示较少占用CPU时间VSZ进程虚拟大小RSS驻留中页的数量TTY终端IDSTAT进程状态(有以下几种) 
D无法中断的休眠状态(通常表示该进程正在进行 IO 动作)R正在执行中S处于休眠状态 T停止或被追踪W 没有足够的内存分页可分配(从内核2.6开始无效) X死掉的进程(从来没见过) Z僵尸进程 zombie<优先级高的进程N优先级较低的进程L有内存分页分配并锁在内存内(即时系统或定制I/O)s进程的领导者(在它之下有子进程)l多进程的(使用 CLONE_THREAD, 类似 NPTL pthreads)+位于后台的进程组WCHAN 正在等待的进程资源START 启动进程的时间TIME进程消耗CPU的时间COMMAND命令的名称和参数

 

top命令

和ps命令基本作用相同,但是一个动态显示过程。

top [-参数]

-d指定每两次刷新屏幕的时间间隔(delay)-q使top没有任何延时的进行刷新-S指定累计模式-s使top命令在安全模式中运行-i是top不显示任何闲置或僵尸进程-c显示整个命令行而不是只是显示命令名

显示(头部)

uptime系统启动时间,已经运行时间和3个平均负载值(1s,5s和15s)processes最近一次运行的进程总数CPU states Mem内存使用情况Swap交换空间统计

显示(列表)

PID每个进程的IDPPID 每个进程的父进程IDUID 每个进程所有者的UID USER 每个进程所有者的用户名PRI 每个进程的优先级别NI该进程的优先级值SIZE该进程的代码大小加上数据大小再加上堆栈空间大小的总数。单位是KBTSIZE该进程的代码大小。对于内核进程这是一个很奇怪的值DSIZE 数据和堆栈的大小TRS文本驻留大小D被标记为“不干净”的页项目LIB 使用的库页的大小。对于ELF进程没有作用RSS 该进程占用的物理内存的总数量,单位是KBSHARE 该进程使用共享内存的数量STAT S休眠状态D不可中断的休眠状态Z僵死状态R运行状态T停止或跟踪状态%CPU 该进程自最近一次刷新以来所占用的CPU时间和总时间的百分比%MEM该进程占用的物理内存占总内存的百分比TIME 该进程自启动以来所占用的总CPU时间
如果进入的是累计模式,那幺该时间还包括这个进程子进程所占用的时间,且标题会变成CTIMECOMMAND该进程的命令名称,如果一行显示不下,则会进行截取。内存中的进程会有一个完整的命令行

和top交互的命令

<空格>立即刷新显示Ctrl+L 擦除并且重写屏幕h或者?显示帮助画面,给出一些简短的命令总结说明k终止一个进程。系统将提示用户输入需要终止的进程PID,以及需要发送给该进程什幺样的信号。一般的终止进程可以使用15信号;如果不能正常结束那就使用信号9强制结束该进程。默认值是信号15。在安全模式中此命令被屏蔽。i 忽略闲置和僵死进程。这是一个开关式命令。q 退出程序r重新安排一个进程的优先级别。系统提示用户输入需要改变的进程PID以及需要设置的进程优先级值。输入一个正值将使优先级降低,反之则可以使该进程拥有更高的优先权。默认值是10。 S切换到累计模式s改变两次刷新之间的延迟时间。系统将提示用户输入新的时间,单位为s。如果有小数,就换算成ms。输入0值则系统将不断刷新,默认值是5 s。需要注意的是如果设置太小的时间,很可能会引起不断刷新,从而根本来不及看清显示的情况,而且系统负载也会大大增加f或者F从当前显示中添加或者删除项目o或者O改变显示项目的顺序l 切换显示平均负载和启动时间信息m切换显示内存信息t 切换显示进程和CPU状态信息c 切换显示命令名称和完整命令行M 根据驻留内存大小进行排序P根据CPU使用百分比大小进行排序T根据时间/累计时间进行排序W将当前设置写入~/.toprc文件中。这是写top配置文件的推荐方法

 

kill:中断一个进程

当需要中断一个前台进程时,可以ctrl+c,但对于后台进程必须使用kill命令。

/bin目录下

kill [-s 信号 | -p] [pid]

kill -l [信号]

-s指定需要发送的信息,可以时信号名,也可以是对应的数位(信号9:强行kill。默认是15)。-p指定kill命令只是显示进程pid,并不真正送出结束信号-l显示信号名称列表(也可以在/usr/include/linux/signal.h文件中找到)

例如:

kill -9 -1终止你拥有的全部进程

 

killall:中断一个进程

/bin目录下

通过程序的名字直接杀死进程

 

nohup命令

      理论上,我们一般退出Linux系统时,会把所有的程序全部结束掉,包括那些后台程序。但有时候,例如您正在编辑一个很长的程序,但是您下班或是有事需要先退出系统,这时您又不希望系统把您编辑那么久的程序结束掉,希望退出系统时,程序还能继续执行。这时,我们就可以使用nohup命令使进程在用户退出后仍继续执行。

      一般这些进程我们都是让它在后台执行,结果则会写到用户自己的目录下的nohup.out这个文件里(也可以使用输出重定向,让它输出到一个特定的文件)。

     例: #nohup sort sales.dat

     这条命令告诉sort命令忽略用户已退出系统,它应该一直运行,直到进程完成。利用这种方法,可以启动一个要运行几天甚至几周的进程,而且在它运行时,用户不需要去登录。

     nohup命令把一条命令的所有输出和错误信息送到nohup.out文件中。若将输出重定向,则只有错误信息放在nohup.out文件中。

原创粉丝点击