woodpile 发表于 2005-9-5 16:56:12

想监视后台任务

用户会用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

woodpile 发表于 2005-9-5 17:51:37

换句话说,就是

执行 a.sh& 但是不让他产生child shell
页: [1]
查看完整版本: 想监视后台任务