Unix作业命令工作不正常

Unix作业命令工作不正常,unix,ksh,jobs,Unix,Ksh,Jobs,我对命令作业有一个问题,因为返回1个正在执行的作业 当所有启动的线程(后台)都已中止时 要了解正在运行的作业,我使用以下命令: 乔布斯| wc-l 结果: 二, 当我只有1个线程(在后台运行)时,该命令返回2,而不是1 知道为什么命令返回2个正在运行的作业吗 我真的不理解这种行为,这会导致我的korn shell脚本出现问题 _check_rfs_thread() { (……) (……) (……) 当我的所有线程都中止时,命令Jobs始终返回1个正在执行的job。 正因为如此,“if[$NB

我对命令作业有一个问题,因为返回1个正在执行的作业 当所有启动的线程(后台)都已中止时

要了解正在运行的作业,我使用以下命令:

乔布斯| wc-l

结果: 二,

当我只有1个线程(在后台运行)时,该命令返回2,而不是1

知道为什么命令返回2个正在运行的作业吗

我真的不理解这种行为,这会导致我的korn shell脚本出现问题

_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]