linux命令“screen”和“&”之间有什么区别当你想运行后台任务?

时间:2013-09-05 06:34:28

标签: linux shell background-process

好奇。

有时我想运行Django Server很长一段时间。 Stackflow给出

  1. 屏幕

    [user@host]$screen
    
    [user@host]$python manage.py runserver 0.0.0.0:8000
    
    [user@host]$screen -d
    
  2. &安培;

    python manage.py runserver &
    
  3. 两者都很好。有什么区别?

1 个答案:

答案 0 :(得分:3)

它的工作方式完全不同。

screen提供了一个虚拟终端,该终端可以保存并可以连接到某个虚拟终端。

&,OTOH,只是在后台创建过程。如果你退出shell,进程会失去stdin,stdout,stderr。在任何后续输出中,它将获得SIGPIPE并退出。