Linux常用命令(进程命令)

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:30
at 17:30 today
at now + 5 hours
at 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进程的ID
PPID 父进程
%CPU 进程占用的CPU百分比
%MEM 占用内存的百分比
NI进程的NICE值,数值大,表示较少占用CPU时间
VSZ进程虚拟大小
RSS驻留中页的数量
TTY终端ID
STAT进程状态(有以下几种) 
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每个进程的ID
PPID 每个进程的父进程ID
UID 每个进程所有者的UID
USER 每个进程所有者的用户名
PRI 每个进程的优先级别
NI该进程的优先级值
SIZE该进程的代码大小加上数据大小再加上堆栈空间大小的总数。单位是KB
TSIZE该进程的代码大小。对于内核进程这是一个很奇怪的值
DSIZE 数据和堆栈的大小
TRS文本驻留大小
D被标记为“不干净”的页项目
LIB 使用的库页的大小。对于ELF进程没有作用
RSS 该进程占用的物理内存的总数量,单位是KB
SHARE 该进程使用共享内存的数量
STAT
S休眠状态
D不可中断的休眠状态
Z僵死状态
R运行状态
T停止或跟踪状态
%CPU 该进程自最近一次刷新以来所占用的CPU时间和总时间的百分比
%MEM该进程占用的物理内存占总内存的百分比
TIME 该进程自启动以来所占用的总CPU时间
如果进入的是累计模式,那幺该时间还包括这个进程子进程所占用的时间,且标题会变成CTIME
COMMAND该进程的命令名称,如果一行显示不下,则会进行截取。内存中的进程会有一个完整的命令行

和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文件中。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值