shell
与子进程 subshell
子进程
子进程,是从父子进程的概念出发的, unix
操作系统的进程从 init 进程
开始( init 进程
为 1, 而进程号 0 为系统原始进程,以下讨论的进程原则上不包括进程 0) 均有其对应的子进程,就算是由于父进程先行结束导致的孤儿进程,也会被 init
领养,使其父进程 ID 为 1。
创建子进程
常见的创建子进程的方式:
&
提交后台作业|
管道()
括号运算- 执行外部命令及脚本,
./filename
或filename
不创建子进程的执行方式
source filename
. filename
Examples
- 创建子进程
28264 root 0:00 /bin/sh -c 3g_lookup /tmp/ethernet/monitor/usb3gDev 28265 root 0:00 {3g_lookup} /bin/bash /usr/local/sbin/3g_lookup /tmp/ethernet/monitor/usb3gDev 28270 root 0:00 {exe} sleep 3
- 不创建子进程
29381 root 0:00 /bin/sh -c 3g_lookup /tmp/ethernet/monitor/usb3gDev 29382 root 0:00 {3g_lookup} /bin/bash /usr/local/sbin/3g_lookup /tmp/ethernet/monitor/usb3gDev