|
第11章,第1个例子
代码如下
- #!/bin/bash
- # spawn.sh
- PIDS=$(pidof sh $0) # Process IDs of the various instances of this script.
- P_array=( $PIDS ) # Put them in an array (why?).
- echo $PIDS # Show process IDs of parent and child processes.
- let "instances = ${#P_array[*]} - 1" # Count elements, less 1.
- # Why subtract 1?
- echo "$instances instance(s) of this script running."
- echo "[Hit Ctl-C to exit.]"; echo
- sleep 1 # Wait.
- sh $0 # Play it again, Sam.
- exit 0 # Not necessary; script will never get to here.
- # Why not?
- # After exiting with a Ctl-C,
- #+ do all the spawned instances of the script die?
- # If so, why?
- # Note:
- # ----
- # Be careful not to run this script too long.
- # It will eventually eat up too many system resources.
- # Is having a script spawn multiple instances of itself
- #+ an advisable scripting technique.
- # Why or why not?
复制代码
问题:
按这个例子的意思是不按Ctl-C这个脚本是不会停止的
我运行出错:
6713 6701 6476 5561
3 instance(s) of this script running.
[Hit Ctl-C to exit.]
./spawn.sh: 6: Syntax error: "(" unexpected |
|