【原创】关于SA-119读书笔记-3(连载)
发表于:2007-05-26来源:作者:点击数:
标签:
过了今天,自己到新单位就整整两个月了,下午快下班的时候,偶们头告知让我好写转正申请了,开心ING……终于可以成为公司的正式员工了! 还是继续昨天的笔记,不过今天晚上要写转正申请,所以只看了一章内容,感觉有点对不住大家,呵呵。明天争取看完199剩下
过了今天,自己到新单位就整整两个月了,下午快下班的时候,偶们头告知让我好写转正申请了,开心ING……终于可以成为公司的正式员工了!
还是继续昨天的笔记,不过今天晚上要写转正申请,所以只看了一章内容,感觉有点对不住大家,呵呵。明天争取看完199剩下的三章内容(远程访问、文件传输、压缩及存档)。
九、描述基本进程和任务控制
在Solaris OE中运行的每个程序都会建立一个进程。系统启动进程被成为守护进程,守护进程在后台运行
并提供系统服务:如桌面登陆守护进程(dtlogin)提供用户登陆时的图形界面。
PID:系统分配给每个进程一个唯一的ID,称为PID;用户可以通过PID识别和控制进程。
UID及GID(用户ID和组ID)也与每个进程关联,它们用于指示进程的所有者及决定进程的运行许可。
理解父进程与子进程间的关系:子进程由父进程所建立,子进程运行时父进程等待,运行完成后父进程中
止子进程的运行![比如shell的运行,shell就算是个父进程]
1. 查看进程:
格式:ps -options
对于每个进程,ps命令都会显示PID(PID)、所在终端(TTY)、累计运行时间(TIME)、命令名称(CMD);
常用选项:
-e:显示每个进程的PID、TTY、TIME、CMD信息;
-f:增加UID、父进程号(PPID)、进程开始时间(STIME)的显示;
例:ps -ef查看系统所有运行进程的详细列表!
ps -ef中列表各项说明:
UID:进程所有者的用户名;
PID:进程唯一识别号;
PPID:进程的父进程识别号;
C:CPU使用率;(已废除)
STIME:进程开始时间(hh:mm:ss);
TTY:显示进程的控制终端;[注意:系统守护进程显示为“?”标志]!
TIME:进程累计运行时间;
CMD:命令的名称、选项和参数;
2. 查找指定进程:(两种方法)ps和grep的联合使用;单独使用pgrep命令。
(1) ps和grep联合式用(通过管道符):
例:ps -e | grep lp
(2) 单独使用pgrep命令:(默认下,pgrep 进程名 得到的结果只显示PID)
格式:pgrep -option(s) 进程名
常用选项说明:
-x:显示完全匹配关键字的进程的PIDs;
-n:显示匹配关键字的最近建立的那个进程的PID;
-U uid:显示属于指定用户的进程的PIDs(uid可以为具体的用户名或UID);
-l:显示PID对应的进程名称;
-t term:显示分配给指定终端的进程。
3. 发送一个信号给进程:一般使用kill或pkill命令给进程发送信号!
P212_表9-4:信号的号码及名称:
信号Number / 名称 / 事件 / 描述 / 反应
1 / SIGHUP / 挂起 / 放弃终端连接或让一些程序在不中止的情况下重新初始化 / 退出
2 / SIGINT / 中断 / 通常为使用键盘Ctrl+C发出的中断信号 / 退出
9 / SIGKILL / 杀死 / 杀死一个进程,进程无法忽略该信号 / 退出
15 / SIGTERM / 终止 / kill或pkill发出的默认信号,一些进程能忽略该信号 / 退出
4. 终止进程:
(1)使用kill命令:普通用户只能终止所有者为其自己的进程;root用户能终止任何进程!
格式:kill [-signal信号] PID(s)
一些进程能忽略kill默认发出的15信号,如一个进程如果在等待磁带机完成操作,那么就会忽略15信号;
当然可以发送信号9强制关闭对15信号无响应的进程:kill -9 PID
注意:除非处于必要,请谨慎使用kill命令发送信号9来结束程序;不然若用信号9结束控制数据路或文件
更新的进程,可能导致数据丢失!
(2)使用pkill命令:pkill [-options] process_name
[pkill命令默认也是发送信号15给进程,当然也可以强制发送信号9来结束进程]:
pkill -9 -x process_name
5. 在Korn shell中管理任务:(本节内容理解可能有误,请大家指正)!
任务也即进程,每个任务都拥有一个PID!
系统可管理三种类型的任务:前台任务、后台任务、已停止的任务;
前台任务:命令运行过程中占用终端窗口知道命令结束;
后台任务:命令后跟&号执行则运行时不占用终端窗口;
已停止任务:前台任务运行中按下Ctrl+Z或对后台任务使用stop命令,使任务停止。
常用任务控制命令:
jobs:显示当前运行或已停止的后台任务;
bg %n:在后台运行当前或指定的任务(n为job ID);
fg %n:把当前或指定的任务带到前台运行(n为job ID);
Ctrl+Z:停止前台任务并移至后台变为已停止任务;
stop %n:停止后台运行的任务(n为job ID);
注意:只能在shell中使用上述命令控制已启动的任务!
明日待续……
C.Arthur 回复于:2004-02-03 22:10:58
|
继续努力:)
|
diag 回复于:2004-02-03 23:26:14
|
这两天。我也在做实验。写笔记。。
SOLARIS 真是太大了。发现自己懂的很少呀。。。
这两天一直在出汗。。。。。。。。。。。。。。
|
zhoujf 回复于:2004-02-04 21:35:42
|
临时有事不好意思,SA-119剩余的笔记会在明天晚上完整贴出!
|
C.Arthur 回复于:2004-02-04 21:38:38
|
好的:)
|
原文转自:http://www.ltesting.net
|