作业列表并使用Red Hat中的Linux查找进程ID

时间:2012-11-17 04:28:17

标签: bash redhat

我已经编写了这个脚本,但是当我运行作业-ls和ps | grep时,我的脚本没有结果:

#!/bin/bash
trap 'echo -e "kill Command given \n";exit 2'SIGINT SIGTERM
count=1
echo "start of the program"
while [ $count -le 10 ]
do
    echo "Loop #${count}"
    sleep 10
    count=$[ count + 1 ]
done
echo "end of program"

1 个答案:

答案 0 :(得分:1)

此语法无效:

trap 'echo -e "kill Command given \n";exit 2'SIGINT SIGTERM

因为你没有有效的间距。请改用:

trap 'echo -e "kill Command given \n"; exit 2' INT TERM

你可能也做了别的错事,因为这对我来说很好:

# Start 10 sleep processes in the background.
for x in {1..10}; do
    sleep 60 &
done

$ pgrep -c sleep
10

我得到期待的结果,这是当前正在运行的睡眠进程数的计数。如果您还有其他想法,请更新您的问题并提供一些预期输出的示例。