kal*_*cey 1 bash signals clojure leiningen
lein在后台无头运行我正在尝试运行一个无头的 leiningen REPL,而不需要专门为其提供终端。也就是说,我想做
$ lein repl :headless &
Run Code Online (Sandbox Code Playgroud)
但几秒钟后 bash 报告它已停止
$ [2]+ Stopped lein repl :headless
Run Code Online (Sandbox Code Playgroud)
在 zsh 和 sh 中运行它具有相同的结果。这些 shell 打印收到的信号 SIGTTIN,这意味着该进程尝试从 STDIN 读取,尽管不是终端控制进程。
以下作品:
$ bash -c "lein repl :headless &"
$ lein repl :headless </dev/null &
Run Code Online (Sandbox Code Playgroud)
我已经查看了repl :headless 在没有标准输入的情况下无法工作,但我无法使用那里的内容来解决我的问题。
推杆
#!/bin/bash
lein repl :headless &
Run Code Online (Sandbox Code Playgroud)
进入脚本test.bash并运行./test.bash也可以。但将线路更改为lein repl :headless并运行./test.bash &则不会。
跑步
$ lein repl :headless &
$ disown %1
Run Code Online (Sandbox Code Playgroud)
也不起作用;ps进程报告它已终止。
我通常也使用 运行tmux,reattach-to-user-namespace但我已经在 的内部和外部tmux以及多个终端仿真器(iTerm2 和 Terminal)中尝试过此操作。如果有帮助,这是我的stty -a设置。