Unix作业命令工作不正常
我对命令作业有一个问题,因为返回1个正在执行的作业 当所有启动的线程(后台)都已中止时 要了解正在运行的作业,我使用以下命令: 乔布斯| wc-l 结果: 二, 当我只有1个线程(在后台运行)时,该命令返回2,而不是1 知道为什么命令返回2个正在运行的作业吗 我真的不理解这种行为,这会导致我的korn shell脚本出现问题Unix作业命令工作不正常,unix,ksh,jobs,Unix,Ksh,Jobs,我对命令作业有一个问题,因为返回1个正在执行的作业 当所有启动的线程(后台)都已中止时 要了解正在运行的作业,我使用以下命令: 乔布斯| wc-l 结果: 二, 当我只有1个线程(在后台运行)时,该命令返回2,而不是1 知道为什么命令返回2个正在运行的作业吗 我真的不理解这种行为,这会导致我的korn shell脚本出现问题 _check_rfs_thread() { (……) (……) (……) 当我的所有线程都中止时,命令Jobs始终返回1个正在执行的job。 正因为如此,“if[$NB
_check_rfs_thread()
{
(……)
(……)
(……)
当我的所有线程都中止时,命令Jobs始终返回1个正在执行的job。 正因为如此,“if[$NBR\u of_JOBS-eq 0]”始终为false([1-eq 0]),程序继续执行
- Execution 1 - didint launch any thread:
1 NBR_OF_JOBS: [1]
3 NBR_OF_JOBS: [1]
- Execution 2 - after launch a thread
1 NBR_OF_JOBS: [2]
3 NBR_OF_JOBS: [2]
- Execution 3 - a thread gets aborted
1 NBR_OF_JOBS: [2]
3 NBR_OF_JOBS: [2]
- Execution 4 - no threads to launch and no threads running in
background
1 NBR_OF_JOBS: [1]
3 NBR_OF_JOBS: [1]
请考虑编辑你的问题,只包括简单的输出<代码>作业< /代码>。你可能会看到一个标题或类似的东西。祝您好运。您更新的问题意味着
作业的输出是“结果:[2]+运行作业的NBR\u:[2]”
。它应该只是一个数字。请显示您正在运行的确切命令及其确切输出,并将其格式化为代码(高亮显示并单击{}
图标)。将作业的输出
馈送到wc-l
会丢失除行数以外的所有信息。您需要查看作业-l的实际输出是什么。尝试临时添加类似于echo===;乔布斯-l;echo==
就在设置$NBR\u OF_JOBS
的行之前。请确保在重新格式化代码时不会破坏代码。理想情况下,您的问题应该包括一个完整的自包含脚本/程序,该脚本/程序可以复制和粘贴您的代码,在我的系统上运行,并查看您看到的相同错误。不要让我们猜测您的代码中实际存在哪些错误,以及在重新键入问题时引入的错误。如果没有更多信息,我们将无法帮助您。脚本中该点没有|wc-l
的作业的输出是什么?
_launch_thread() {
# This function launchs threads in background with &
}
SLOTS=15
while [ $LAUNCH_THREAD -eq 0 ]
do
NBR_OF_JOBS=`jobs | wc -l`
echo '1 NBR_OF_JOBS: ['$NBR_OF_JOBS']'
while [[ $NBR_OF_JOBS -ge $SLOTS ]] # When all threads are available
do
sleep 1
NBR_OF_JOBS=`jobs | wc -l`
echo '2 NBR_OF_JOBS: ['$NBR_OF_JOBS']'
done
echo '3 NBR_OF_JOBS: ['$NBR_OF_JOBS']'
_check_rfs_thread $PROGRAM_NAME $SLOTS $NBR_OF_JOBS
_launch_thread()
done
- Execution 1 - didint launch any thread:
1 NBR_OF_JOBS: [1]
3 NBR_OF_JOBS: [1]
- Execution 2 - after launch a thread
1 NBR_OF_JOBS: [2]
3 NBR_OF_JOBS: [2]
- Execution 3 - a thread gets aborted
1 NBR_OF_JOBS: [2]
3 NBR_OF_JOBS: [2]
- Execution 4 - no threads to launch and no threads running in
background
1 NBR_OF_JOBS: [1]
3 NBR_OF_JOBS: [1]