我正在读一本关于 Linux 的书。它指出要将进程置于前台,请使用fg
命令和百分号 (%),后跟作业编号。我做了一些测试,发现它按预期工作。但我也发现我可以使用一个简单的数字作为jobspec,比如fg 3
(而不是fg %3
),它也可以将第三个进程带到前台。一个简单的数字可以被认为是一个有效的工作规范吗?
我正在读一本关于 Linux 的书。它指出要将进程置于前台,请使用fg
命令和百分号 (%),后跟作业编号。我做了一些测试,发现它按预期工作。但我也发现我可以使用一个简单的数字作为jobspec,比如fg 3
(而不是fg %3
),它也可以将第三个进程带到前台。一个简单的数字可以被认为是一个有效的工作规范吗?
Bash 似乎接受
fg 3
等等,但我不确定文档对此是否过于明确。的描述
fg
只是说它需要一个“jobspec”,而他们的描述说“字符'%'介绍了一个工作规范(jobspec)”。并且%
似乎包含在所有示例中。我尝试过的其他 shell(Dash、ksh 和 zsh)在那里不接受纯数字,所以它看起来像是一个仅限 Bash 的东西。
请注意,
kill
可以采用作业规范或进程 ID,因此两者kill %3
都是kill 3
有效的,它们只是意味着不同的东西。这也意味着一般来说,一个普通的数字不能作为工作规范,所以最好坚持使用%3
.