关闭终端后继续运行bash命令

时间:2017-04-30 06:13:21

标签: linux bash shell ubuntu terminal

即使在关闭终端后,我仍希望继续运行以下命令。

while sleep 120; do cmd; done &

但目前它并没有。谢谢。 ps我是终端

的新手

2 个答案:

答案 0 :(得分:1)

这应该有效:

while true ; do sleep 120; done 0<&- >/dev/null 2>&1 & disown ;

它的作用:

  • 使用&
  • 在后台启动命令
  • 将stdout和sterr发送到/dev/null(您可以重定向到其他地方)
  • 使用stdin
  • 关闭0<&-
  • 从shell的作业列表中删除作业,以防止在shell终止时发送信号

答案 1 :(得分:-1)

您可以使用tmux实现此目的。

如果系统上没有安装tmux,请安装。

  1. 输入tmux会话tmux
  2. 运行命令: while [ 1 ]; do sleep 120; <your_commands_here>; done &
  3. 分离会话:tmux detach
  4. exit
  5. 可在此处找到更多信息:https://askubuntu.com/questions/8653/how-to-keep-processes-running-after-ending-ssh-session

    编辑:Fred的解决方案更适合此目的