[root@iZ8vbf7wl3cvyqf9c2mvfbZ SysProg]# ps -la
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
4 R 0 1988251 1987803 0 80 0 - 2646 - pts/3 00:00:00 ps
F 进程的flags,
S 表示进程的状态, R
表示进程正在运行
D
uninterruptible sleep (usually IO)
I
Idle kernel thread
R
running or runnable (on run queue)
S
interruptible sleep (waiting for an event to complete)
T
stopped by job control signal
t
stopped by debugger during the tracing
W
paging (not valid since the 2.6.xx kernel)
X
dead (should never be seen)
Z
defunct ("zombie") process, terminated but not reaped by its parent
C cpu利用率
PRI 优先级 NI niceness值
更多信息可以查阅man手册。
fork()
允许一进程(父进程)创建一新进程(子进程)。
exit(status)
终止一进程,将进程占用的所有资源(内存、文件描述符等)归
还内核,交其进行再次分配。
status
为一整型变量,表示进程的退出状态。父进
程可使用系统调用 wait()来获取该状态。wait(&status)
的目的有二:其一,如果子进程尚未调用 exit()
终止,那么 wait()
会挂起父进程直至子进程终止;其二,子进程的终止状态通过 wait()
的 status
参数返回。execve(pathname,argv,envp)
加载一个新程序(路径名为 pathname
,参数
列表为 argv
,环境变量列表为 envp
)到当前进程的内存。这将丢弃现存的程序文本段,并为新程序重新创建栈、数据段以及堆。通常将这一动作称为**执行(execing)**一个新程序。协同使用: