我正在尝试在后台运行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
之后,作业以相同的方式停止
答案 0 :(得分:1)
您的程序已按预期在后台启动,并且确实与用户输入断开了连接。但是,当您在后台运行某个进程时,直到按 Enter 为止,作业控制输出似乎已被暂停。尝试使用sleep 1 &
-像
后台进程结束后,按 Enter 后,会出现[1] +完成睡眠1
。
我怀疑这是为了避免在用户尝试键入其他命令时在屏幕上输出行。