第九章:程序管理
1、列印程序
[root@localhost program_test]# ps -e | head
PID TTY TIME CMD
1 ? 00:00:03 init
2 ? 00:00:00 kthreadd
3 ? 00:00:00 migration/0
4 ? 00:00:00 ksoftirqd/0
5 ? 00:00:00 migration/0
6 ? 00:00:00 watchdog/0
7 ? 00:00:00 events/0
8 ? 00:00:00 cgroup
9 ? 00:00:00 khelper
2、top 占用CPU最多的程序清單
[root@localhost program_test]# top
top - 23:45:17 up 1:12, 5 users, load average: 0.00, 0.00, 0.00
Tasks: 153 total, 1 running, 143 sleeping, 9 stopped, 0 zombie
Cpu(s): 0.3%us, 0.3%sy, 0.0%ni, 99.0%id, 0.0%wa, 0.3%hi, 0.0%si, 0.0%st
Mem: 1030528k total, 377184k used, 653344k free, 32588k buffers
Swap: 2064376k total, 0k used, 2064376k free, 170968k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
4429 root 20 0 2704 1140 880 R 0.7 0.1 0:00.12 top
21 root 20 0 0 0 0 S 0.3 0.0 0:01.63 ata_sff/0
2462 yy 20 0 73100 23m 18m S 0.3 2.3 0:12.11 vmtoolsd
1 root 20 0 2900 1436 1212 S 0.0 0.1 0:03.10 init
3、列出占CPU最多的程序
[root@localhost program_test]# ps -eo comm,pcpu --sort -pcpu | head
COMMAND %CPU
Xorg 0.5
vmtoolsd 0.2
vmtoolsd 0.2
init 0.0
kthreadd 0.0
migration/0 0.0
ksoftirqd/0 0.0
migration/0 0.0
watchdog/0 0.0
4、列印出bash進度對應的pid
[root@localhost program_test]# ps -C bash -o pid=
2624
2650
2696
2732
2759
3842
//與下面的指令等價
[root@localhost program_test]# ps -aux | grep bash | awk 'BEGIN { FS=" " } $11=="bash" { print $2 }'
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.8/FAQ
2624
2650
2759
5、列舉出用的信号:
[root@localhost program_test]# kill -l
1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP
6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1
11) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM
16) SIGSTKFLT 17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP
21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ
26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO 30) SIGPWR
31) SIGSYS 34) SIGRTMIN 35) SIGRTMIN+1 36) SIGRTMIN+2 37) SIGRTMIN+3
38) SIGRTMIN+4 39) SIGRTMIN+5 40) SIGRTMIN+6 41) SIGRTMIN+7 42) SIGRTMIN+8
43) SIGRTMIN+9 44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12 47) SIGRTMIN+13
48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-13 52) SIGRTMAX-12
53) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9 56) SIGRTMAX-8 57) SIGRTMAX-7
58) SIGRTMAX-6 59) SIGRTMAX-5 60) SIGRTMAX-4 61) SIGRTMAX-3 62) SIGRTMAX-2
6、常用信号
1)SIGHUP 1 --對控制程序和終端進行挂起檢測;
2)SIGINT 2--按下Ctrl+C發送信号
3)SIGKILL 9-- 強殺程序
4)SIGTERM 15--預設用于終止程序
5)SIGTSTP 20--按下Ctrl+Z發送信号
7、通過程序名殺死程序
[yy@localhost ~]$ killall -9 su
su: no process killed
8、捕獲并響應信号測試 trap
[root@localhost ~]$ cat singlehandle.sh | sed '/^$/d'
#!/bin/bash
function handler()
{
echo Hey, received signal : SIGINT
}
echo My Process ID is $$
trap 'handler' SIGINT
while true;
do
sleep 1
done
9、
which //找到某個指令的位置
whereis //不僅傳回指令的路徑,還列印出對應指令手冊的位置
file //确定檔案類型
whatis //輸出作為參數指令的簡短資訊
uptime //系統可運作程序總量的平均值
10、
hostname //擷取主機名
//擷取分區資訊
**[yy@localhost ~]$ cat /proc/partitions**
major minor #blocks name
8 0 20971520 sda
8 1 307200 sda1
8 2 18598912 sda2
8 3 2064384 sda3
作者:銘毅天下
轉載請标明出處,原文位址:
http://blog.csdn.net/laoyang360/article/details/42364921