1

好奇的。

有时我想长时间运行 Django 服务器。堆栈流给

  1. 屏幕

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

    python manage.py runserver &
    

两者都工作正常。有什么区别?

4

1 回答 1

4

它的工作方式完全不同。

screen提供了一个虚拟终端,该终端可以保存并可以连接,甚至可以同时从多个点连接。

&,OTOH,只是在后台创建进程。如果退出 shell,进程会丢失其 stdin、stdout、stderr。在任何后续输出中,它都会得到 aSIGPIPE并退出。

于 2013-09-05T06:49:57.410 回答