使用方式:top [-] [d delay] [q] [c] [S] [s] [i] [n] [b]
说明:实时显示 process 的动态
参数:
范例:
显示更新十次后退出
top -n 10
使用者将不能利用交谈式指令来对行程下命令 :
top -s
将更新显示二次的结果输入到名称为 top.log 的档案里 :
top -n 2 -b <top.log
top命令用于显示系统运行的进程信息,作用类似于windows中的任务管理器,只不过top不是图形化的,而是显示实时文本信息\x0d\x0a\x0d\x0a统计信息区域的下方显示了各个进程的详细信息。首先来认识一下各列的含义。\x0d\x0aPIDUSERPRNIVIRTRESSHRS%CPU%MEMTIME+COMMAND\x0d\x0a序号列名含义\x0d\x0aPID进程id\x0d\x0aPPID父进程id\x0d\x0aRUSERRealusername\x0d\x0aUID进程所有者的用户id\x0d\x0aUSER进程所有者的用户名\x0d\x0aGROUP进程所有者的组名\x0d\x0aTTY启动进程的终端名。不是从终端启动的进程则显示为?\x0d\x0aPR优先级\x0d\x0aNInice 值。负值表示高优先级,正值表示低优先级\x0d\x0aP最后使用的CPU,仅在多CPU环境下有意义\x0d\x0a%CPU上次更新到现在的CPU时间占用百分比\x0d\x0aTIME进程使用的CPU时间总计,单位秒\x0d\x0aTIME+进程使用的CPU时间总计,单位1/100秒\x0d\x0a%MEM进程使用的物理内存百分比\x0d\x0aVIRT进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES\x0d\x0aSWAP进程使用的虚拟内存中,被换出的大小,单位kb。\x0d\x0aRES进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA\x0d\x0aCODE可执行代码占用的物理内存大小,单位kb\x0d\x0aDATA可执行代码以外的部分(数据段+栈)占用的物理内存大小,单位kb\x0d\x0aSHR共享内存大小,单位kb\x0d\x0anFLT页面错误次数\x0d\x0anDRT最后一次写入到现在,被修改过的页面数。\x0d\x0aS进程状态。\x0d\x0aD=不可中断的睡眠状态\x0d\x0aR=运行\x0d\x0aS=睡眠\x0d\x0aT=跟踪/停止\x0d\x0aZ=僵尸进程\x0d\x0aCOMMAND命令名/命令行\x0d\x0aWCHAN若该进程在睡眠,则显示睡眠中的系统函数名\x0d\x0aFlags任务标志,参考sched.hlinux任务管理-后台运行与终止fg、bg、jobs、&、ctrl
+
z命令一、
&加在一个命令的最后,可以把这个命令放到后台执行
,如gftp
&,二、ctrl
+
z可以将一个正在前台执行的命令放到后台,并且处于暂停状态,不可执行
三、jobs查看当前有多少在后台运行的命令jobs
-l选项可显示所有任务的PID,jobs的状态可以是running,
stopped,
Terminated,但是如果任务被终止了(kill),shell
从当前的shell环境已知的列表中删除任务的进程标识;也就是说,jobs命令显示的是当前shell环境中所起的后台正在运行或者被挂起的任务信息;四、fg将后台中的命令调至前台继续运行如果后台中有多个命令,可以用
fg
%jobnumber将选中的命令调出,%jobnumber是通过jobs命令查到的后台正在执行的命令的序号(不是pid)五、bg将一个在后台暂停的命令,变成继续执行
(在后台执行)如果后台中有多个命令,可以用bg
%jobnumber将选中的命令调出,%jobnumber是通过jobs命令查到的后台正在执行的命令的序号(不是pid)将任务转移到后台运行:先ctrl
+
z;再bg,这样进程就被移到后台运行,终端还能继续接受命令。概念:当前任务如果后台的任务号有2个,[1],[2];如果当第一个后台任务顺利执行完毕,第二个后台任务还在执行中时,当前任务便会自动变成后台任务号码“[2]”
的后台任务。所以可以得出一点,即当前任务是会变动的。当用户输入“fg”、“bg”和“stop”等命令时,如果不加任何引号,则所变动的均是当前任务进程的终止后台进程的终止:方法一:通过jobs命令查看job号(假设为num),然后执行kill
%num方法二:通过ps命令查看job的进程号(PID,假设为pid),然后执行kill
pid前台进程的终止:ctrl+ckill的其他作用kill除了可以终止进程,还能给进程发送其它信号,使用kill
-l
可以察看kill支持的信号。SIGTERM是不带参数时kill发送的信号,意思是要进程终止运行,但执行与否还得看进程是否支持。如果进程还没有终止,可以使用kill
-SIGKILL
pid,这是由内核来终止进程,进程不能监听这个信号。进程的挂起后台进程的挂起:在solaris中通过stop命令执行,通过jobs命令查看job号(假设为num),然后执行stop
%num;在redhat中,不存在stop命令,可通过执行命令kill
-stop
PID,将进程挂起;当要重新执行当前被挂起的任务时,通过bg
%num
即可将挂起的job的状态由stopped改为running,仍在后台执行;当需要改为在前台执行时,执行命令fg
%num即可;前台进程的挂起:ctrl+Z
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)