想监视后台任务
用户会用crtl-z暂停任务,想做一脚本,login 执行该脚本,log out kill 该脚本想用jobs列出暂停任务用bg jobid 带回前台。
但是遇到一个问题, 脚本必须在同一个shell中执行才能看到jobs的输出。
所以只能这样调用 . /usr/globaltools/catt/bin/a.sh (用.)
不能 /usr/globaltools/catt/bin/a.sh
当我执行. /usr/globaltools/catt/bin/a.sh,脚本可以工作,
但是. /usr/globaltools/catt/bin/a.sh&不行, 如何解决这个问题?
#!/bin/bash
while true
do
for cmd in `jobs | awk '/Stopped/&&/accli/ {gsub(/[^0-9]+/,"",$1);print $1}' `; do
echo "******* run bg " $cmd "**********************";
`bg $cmd`;
done
sleep 20;
echo "sleep 20"
done 换句话说,就是
执行 a.sh& 但是不让他产生child shell
页:
[1]