1. 列出进程ps
#ps –f //显示当前用户进程的详细信息
UID PID PPID C STIME TTY TIME CMD
root 4737 4724 0 09:39:39 pts/2 0:00 bash
root 4755 4737 0 10:10:05 pts/2 0:00 ps –f
#ps –Af //列出系统中所有进程及详细信息
# ps –c //调度顺序显示进程
PID CLS PRI TTY TIME CMD
4737 TS 49 pts/2 0:00 bash
4759 TS 59 pts/2 0:00 ps
#ps –g 0 //显示某一组具体用户执行的进程的信息
PID TTY TIME CMD
0 ? 0:36 sched
1 ? 0:00 init
2 ? 0:00 pageout
3 ? 2:30 fsflush
查看所有进程详细信息,在System V中用ps -eaf在;BSD中,用ps -aux。
2. top 命令交互式监测系统中的进程。【在solaris 9中默认没有安装,需要自行安装】
top读取/proc文件系统来产生进程统计表。top还可以实现kill掉一个进程,实际上是一个菜单化的管理工具。
3. 自动化执行进程at
如想在一个特殊的时间启动sendmail,则可以使用At命令:
at 0900 //在早上9:00发送一个mail
at> /usr/lib/sendmail -bd
at> hello world;
at> //以ctrl+D代替
commands will be executed using /bin/bash
job 1240886580.a at Tue Apr 28 10:43:00 2009
接下来查看任务是否成功
#cd /var/spool/cron/atjobs
#ls –l
-r-Sr--r-- 1 userzz admin 831 Apr 27 11:07 1240886580.a
#cat 1240886580.a
……
注意,你会发现你并没有收到mail,因为你没有以root用户身份提交作业,因此,普通用户没有权限以后台程序方式启动sendmail.
显示关于作业处理的信息
#at -l 1098648000.a
显示当前作业的情况
# ls -l /var/spool/cron/atjobs
我们也可以使用at命令移出作业
例如:#at -r 1098648000.a
4. 对于成批运行的作业,必须用crontab命令,对应的文件/var/spool/cron/cronjobs
查看自己的crontab文件,使用:
#crontab –l root
10 3 * * * /usr/sbin/logadm
15 3 * * 0 /usr/lib/fs/nfs/nfsfind
1 2 * * * [ -x /usr/sbin/rtc ] && /usr/sbin/rtc -c > /dev/null 2>&1
30 3 * * * [ -x /usr/lib/gss/gsscred_clean ] && /usr/lib/gss/gsscred_clean
#10 3 * * * /usr/lib/krb5/kprop_script ___slave_kdcs___
这是solaris为根用户产生的标准contab命令,其中6个字段分别表示:
分钟(0~59).小时(0~23).该月的天(1~31).该年的月(1~12).该周的天(0~6).要执行的命令
其中0表示星期天。
以上面第一行为例,表示在每天3:10分进行logadm
#crontab –e //启动默认的编辑器如vi,编辑cron文件
注意要以ctrl+c结束编辑过程,Ctrl+D会清空整个文件。
#crobtab -r user1 //删除用户user1的所有任务。
5. 查看某一进程例子
#ps –eaf |grep bash
root 4958 4943 0 11:22:02 pts/2 0:00 grep bash
root 4943 4937 0 11:11:20 pts/2 0:00 bash
#cd /proc/4943
#ls –l
…
6. 使用proc工具
Proc相应的工具在目录/usr/proc/bin下。
#ls /usr/proc/bin
pcred pflags pmap psig pstop ptree pwdx
pfiles pldd prun pstack ptime pwait
#/usr/proc/bin/pcred 4943
# /usr/proc/bin/pcred 4943
4943: e/r/suid=0 e/r/sgid=1
groups: 1 0 2 3 4 5 6 7 8 9 12
#/usr/proc/bin/pmap 4943 //查看进程的地址空间映射,以及调用的相应的库
4943: bash
00010000 496K r-x-- /usr/bin/bash
0009A000 80K rwx-- /usr/bin/bash
000AE000 144K rwx-- [ heap ]
FF100000 688K r-x-- /usr/lib/libc.so.1
FF1BC000 32K rwx-- /usr/lib/libc.so.1
FF200000 568K r-x-- /usr/lib/libnsl.so.1
FF29E000 40K rwx-- /usr/lib/libnsl.so.1
FF2A8000 24K rwx-- /usr/lib/libnsl.so.1
FF300000 16K r-x-- /usr/lib/libmp.so.2
FF314000 8K rwx-- /usr/lib/libmp.so.2
FF320000 8K rwx-- [ anon ]
FF330000 40K r-x-- /usr/lib/libsocket.so.1
FF34A000 8K rwx-- /usr/lib/libsocket.so.1
FF350000 168K r-x-- /usr/lib/libcurses.so.1
FF38A000 32K rwx-- /usr/lib/libcurses.so.1
FF392000 8K rwx-- /usr/lib/libcurses.so.1
FF3A0000 8K r-x-- /usr/platform/sun4u-us3/lib/libc_psr.so.1
FF3B0000 184K r-x-- /usr/lib/ld.so.1
FF3EE000 8K rwx-- /usr/lib/ld.so.1
FF3F0000 8K rwx-- /usr/lib/ld.so.1
FF3FA000 8K rwx-- /usr/lib/libdl.so.1
FFBFC000 16K rw--- [ stack ]
total 2592K
# /usr/proc/bin/pldd 4943 //列出进程调用的库文件
4943: bash
/usr/lib/libcurses.so.1
/usr/lib/libsocket.so.1
/usr/lib/libnsl.so.1
/usr/lib/libdl.so.1
/usr/lib/libc.so.1
/usr/lib/libmp.so.2
/usr/platform/sun4u-us3/lib/libc_psr.so.1
# /usr/proc/bin/psig 4943 //调用与每个进程相关的信号
…
#/usr/proc/bin/pfiles 4943 //显示每个进程打开的所有文件
#/usr/proc/bin/pwdx 4943 //显示当前进程的工作目录
#/usr/proc/bin/ptree 4943 //显示当前进程的工作树
7. 其它命令:lsof(list open files)【默认没有安装,需要安装】
该命令可以显示所有被进程打开的文件,如:
#lsof /
显示/目录下所有被打开的文件。
8. kill命令
用来给进程发送不同的信号,常见的有两种:
1表示挂挂起进程,如apache需要重新读取配置文件,可以用此参数
#kill –1 ‘pgrep apache’
9。表示杀死某个进程
#kill –9 bash
其它还有killall,pkill
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/bennyfun79/archive/2009/04/27/4128291.aspx