进程管理

进程就是在运行中的程序,而aix进程分为三种,交互进程,批处理进程与守护进程。守护进程一般在开机的时候记动,或者由root启动,守护进程存放在/etc/inittab文件中,相关的进程在系统启动的时候就开始启动。

-bash-3.2# cat /etc/inittab|grep -v '^:'
init:2:initdefault:
brc::sysinit:/sbin/rc.boot 3 >/dev/console 2>&1 # Phase 3 of system boot
powerfail::powerfail:/etc/rc.powerfail 2>&1 | alog -tboot > /dev/console # Power Failure Detection
mkatmpvc:2:once:/usr/sbin/mkatmpvc >/dev/console 2>&1
atmsvcd:2:once:/usr/sbin/atmsvcd >/dev/console 2>&1
tunables:23456789:wait:/usr/sbin/tunrestore -R > /dev/console 2>&1 # Set tunables
securityboot:2:bootwait:/etc/rc.security.boot > /dev/console 2>&1
rc:23456789:wait:/etc/rc 2>&1 | alog -tboot > /dev/console # Multi-User checks
fbcheck:23456789:wait:/usr/sbin/fbcheck 2>&1 | alog -tboot > /dev/console # run /etc/firstboot
srcmstr:23456789:respawn:/usr/sbin/srcmstr # System Resource Controller
platform_agent:2:once:/usr/bin/startsrc -s platform_agent >/dev/null 2>&1
rctcpip:23456789:wait:/etc/rc.tcpip > /dev/console 2>&1 # Start TCP/IP daemons
sniinst:2:wait:/var/adm/sni/sniprei > /dev/console 2>&1
rcnfs:23456789:wait:/etc/rc.nfs > /dev/console 2>&1 # Start NFS Daemons
cron:23456789:respawn:/usr/sbin/cron
piobe:2:wait:/usr/lib/lpd/pioinit_cp >/dev/null 2>&1  # pb cleanup
cons:0123456789:respawn:/usr/sbin/getty /dev/console
qdaemon:23456789:wait:/usr/bin/startsrc -sqdaemon
writesrv:23456789:wait:/usr/bin/startsrc -swritesrv
uprintfd:23456789:respawn:/usr/sbin/uprintfd
shdaemon:2:off:/usr/sbin/shdaemon >/dev/console 2>&1 # High availability daemon
l2:2:wait:/etc/rc.d/rc 2
l3:3:wait:/etc/rc.d/rc 3
l4:4:wait:/etc/rc.d/rc 4
l5:5:wait:/etc/rc.d/rc 5
。。。。。

 

命令程序的简介

AIX程序不使用扩展名来识别可运行的程序,而是使用文件的x权限。

系统程序的目录,系统可执行的程序主要放在/bin, /sbin, /usr/bin, /usr/sbin.

/bin 目录,该目录主要适用于系统中普通用户所必须的命令程序。

/sbin 目录, 该目录主要适用于系统管理员所必须的命令程序,用于对系统的管理与维护。

/usr/bin 目录, 普通用户可以使用的应用程序的命令。

/usr/sbin 目录, 系统管理员可以使用管理工具的程序。

 

程序的执行

程序的执行主要分为命令程序与shell程序的执行,对于命令程序,直接运行命令程序所在的目录,对于shell,则需要.sh 运行程序。

-bash-3.2$ /usr/bin/date  +"%F %R"
2012-11-08 21:34

./test.sh

 

进程查看

查看用户所运行的进程

ps -u kim

-bash-3.2$ ps -u kim
 UID    PID    TTY  TIME CMD
 202 274536  pts/0  0:00 vi
 202 340184  pts/0  0:00 ps
 202 413936  pts/0  0:00 bash

 

查看某个终端所启动的进程

-bash-3.2who am i
kim         pts/0       Nov 08 20:26     (99.99.99.254) 
-bash-3.2$ ps -t pts/0
    PID    TTY  TIME CMD
 274546  pts/0  0:00 ps
 413936  pts/0  0:00 bash

 

以列表的方式显示程序

-bash-3.2$ ps -ef|head
     UID    PID   PPID   C    STIME    TTY  TIME CMD
    root      1      0   0   Nov 06      -  0:01 /etc/init
    root  82160 217250   0   Nov 06      -  0:00 /opt/freeware/cimom/pegasus/bin/cimssys platform_agent
    root  90342 217250   0   Nov 06      -  0:02 sendmail: accepting connections
    root 106578      1   0   Nov 06      -  0:00 /usr/ccs/bin/shlap64
    root 139398      1   1   Nov 06      -  1:02 /usr/sbin/getty /dev/console
    root 151638      1   0   Nov 06      -  0:20 /usr/sbin/syncd 60
    root 155762      1   0   Nov 06      -  0:00 /usr/lib/errdemon
    root 159868 217250   0   Nov 06      -  0:00 /opt/freeware/cimom/pegasus/bin/cimssys cimsys
    root 172160      1   0   Nov 06      -  0:00 bin/nonstop_aix @config/nonstop.properties

 

-bash-3.2$ ps -el|head
       F S UID    PID   PPID   C PRI NI ADDR    SZ    WCHAN    TTY  TIME CMD
  200003 A   0      1      0   0  60 20 100e047000   732               -  0:01 init
  240001 A   0  82160 217250   0  60 20 10121c9400   292 f100020000a044c8      -  0:00 cimssys
  240001 A   0  90342 217250   0  60 20 1002201400  2316               -  0:02 sendmail
  240001 A   0 106578      1   0  60 20 10000e0400   168 f10001000dfc3b98      -  0:00 shlap64
  240001 A   0 139398      1   0  60 20 1032a79400   624 f10001000d2e06c0      -  1:02 getty
  240001 A   0 151638      1   0  60 20 103811c400   580        *      -  0:20 syncd
   40401 A   0 155762      1   0  60 20 103e13f400   620 f1000100097f9048      -  0:00 errdemon
  240001 A   0 159868 217250   0  60 20 10161cb400   284 f1000200009fd8c8      -  0:00 cimssys
  240001 A   0 172160      1   0  60 20 10284b4400   408 f100020000e60208      -  0:00 nonstop_aix
 

 

-bash-3.2$ ps aux|head
USER        PID %CPU %MEM   SZ  RSS    TTY STAT    STIME  TIME COMMAND
root       8196  0.1  0.0   48   40      - A      Nov 06  4:58 wait
root      45078  0.1  0.0   48   40      - A      Nov 06  4:44 wait
root     188536  0.0 11.0 64192 55692      - A      Nov 06  3:06 /var/opt/tivoli/
root     139398  0.0  0.0  624  652      - A      Nov 06  1:02 /usr/sbin/getty
pconsole 250064  0.0  7.0 42068 35500      - A      Nov 06  0:30 /usr/java5/bin/j
root          0  0.0  0.0   60   48      - A      Nov 06  0:29 swapper
root      53274  0.0  0.0  120   96      - A      Nov 06  0:28 gil
root     151638  0.0  0.0  580  312      - A      Nov 06  0:20 /usr/sbin/syncd
root     262288  0.0  0.0  180  168      - A      Nov 06  0:10 rpc.lockd
 

 

以树形方式显示程序列表

-bash-3.2$ ps -T 1
    PID    TTY  TIME CMD
      1      -  0:01 init
  69746      -  0:00    |\--ldmp_process
  86190      -  0:00    |\--aioPpool
 106578      -  0:00    |\--shlap64
 127092      -  0:00    |\--kbiod
 135240      -  0:00    |\--aioLpool
 139398      -  1:02    |\--getty
 151638      -  0:20    |\--syncd
 155762      -  0:00    |\--errdemon
 172160      -  0:00    |\--nonstop_aix
 188536      -  3:06    |    \--java
 180334      -  0:00    |\--CIM_diagd
 184428      -  0:00    |\--slp_srvreg
 209046      -  0:05    |\--random
 213106      -  0:00    |\--tier1slp
 217250      -  0:00    |\--srcmstr
  82160      -  0:00    |   |\--cimssys
  90342      -  0:02    |   |\--sendmail
 159868      -  0:00    |   |\--cimssys
 176242      -  0:00    |   |\--qdaemon
 192614      -  0:00    |   |\--snmpdv3ne
 196794      -  0:00    |   |\--snmpmibd
 200872      -  0:00    |   |\--inetd
 426030      -  0:00    |   |    \--telnetd
 413936  pts/0  0:00    |   |        \--bash
 274660  pts/0  0:00    |   |            \--ps
 204984      -  0:00    |   |\--portmap
 233652      -  0:00    |   |\--writesrv
 241812      -  0:00    |   |\--syslogd
 245910      -  0:00    |   |\--aixmibd
 254100      -  0:07    |   |\--rmcd
 258174      -  0:00    |   |\--hostmibd
 270540      -  0:00    |   |\--rpc.lockd
 278664      -  0:00    |   |\--biod
 282852      -  0:00    |   |\--rpc.statd
 295088      -  0:00    |   |\--ksh
 315590      -  0:00    |   |    \--ksh
 250064      -  0:30    |   |        \--java
 303272      -  0:05    |   |\--IBM.CSMAgentRMd
 319644      -  0:00    |   |\--IBM.ServiceRMd
 323786      -  0:00    |    \--IBM.DRMd
 229554      -  0:01    |\--cimserver
 237582      -  0:00    |\--cron
 262288      -  0:10    |\--rpc.lockd
 266470      -  0:00    |\--uprintfd
 286878      -  0:07    |\--topasrec
 290986      -  0:00    |\--cimlistener
 442410      -  0:00     \--pofCmdProc
 

 

topas 命令

 topas -i 5

-i   指定时间间隔

 

按键c, n, d, w, p字母分别显示cpu, network, disk, work load manager, process栏目。
 

 进程的后台运行

nohup -p pid 或者command &

即使登陆会话已断开也会在后台继续运行,在运行的过程中会在当前的目录创建一个nohup.out文件,详细记录nohup的运行过程。

 

进程的终止

默认使用的信号是15, term, 表示正常终止进程。

kill pid

或者 kill -15 pid

强制中止进程

kill -9 pid

kill -SIGKILL pid

 

killall

主要功能取消除了调用进程外的所有进程。