开发者社区 问答 正文

shell中的jobs和process有什么区别?

如题所示,我理解jobs可能是各种应用程序,一个jobs可以对应多个process,这么说对不对? 更准确点的解释应该是什么?

非常感谢!

展开
收起
a123456678 2016-06-22 14:44:31 2826 分享 版权
1 条回答
写回答
取消 提交回答
  • job是shell的概念,process是操作系统的概念。从一定程度上讲,你可以理解为job里可以有多个process。

    比如运行:

    $ tail -f test.txt | more &
    [1] 32751
    $ jobs
    [1]+  Running               tail -f test.txt | more
    $ ps af
      PID TTY      STAT   TIME COMMAND
    32740 pts/1    Ss     0:00 -bash
    32750 pts/1    T      0:00  \_ tail -f test.txt
    32751 pts/1    T      0:00  \_ more
    32752 pts/1    R+     0:00  \_ ps af
      762 tty2     Ss+    0:00 /sbin/getty 38400 tty2
      760 tty1     Ss+    0:00 /sbin/getty 38400 console

    可以看到只启动了一个job,但存在tail和more两个process。

    2019-07-17 19:45:34
    赞同 展开评论
问答分类:
问答标签:
问答地址: