输入后后台进程停止

时间:2018-12-03 02:05:32

标签: bash jobs nodemon

我正在尝试在后台运行nodemon

nodemon index.js &

nodemon输出其初始化

[nodemon] to restart at any time, enter `rs`
[nodemon] watching: *.*
[nodemon] starting `node index.js`
listening on port 8080

没有给出提示,但是任何命令都会运行
(在第一次按Enter后显示提示)
运行cd会导致bash输出:

[1]+  Stopped                 nodemon index.js  (wd: ~/foo/bar)
(wd now: ~)

显示nodemon已停止运行

请帮助我

据我所知,bash应该将程序置于后台,就像其他所有在后台不断运行的进程一样,用户输入应该停止影响该进程的行为。

这会发生吗?
我想念什么吗?
如何在后台正确运行程序?
谢谢大家的关注和投入。

其他

我发现反复按enter会使作业停止,但输出略有不同:

[1]+  Stopped                 nodemon index.js

仅在多次按下enter键时才会发生。有时它会在再按一次后发生,而其他时候会在再下一次后发生。印刷数量没有明确的图案

baz: command not found之后,作业以相同的方式停止

1 个答案:

答案 0 :(得分:1)

您的程序已按预期在后台启动,并且确实与用户输入断开了连接。但是,当您在后台运行某个进程时,直到按 Enter 为止,作业控制输出似乎已被暂停。尝试使用sleep 1 &-像

这样的行
  

[1] +完成睡眠1

后台进程结束后,按 Enter 后,会出现

我怀疑这是为了避免在用户尝试键入其他命令时在屏幕上输出行。