linux - 当你想运行后台任务时,linux命令 "screen"和 "&"有什么区别?

标签 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 &
    

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

最佳答案

它的工作方式完全不同。

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

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

关于linux - 当你想运行后台任务时,linux命令 "screen"和 "&"有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18629312/

相关文章:

python - 如何使用 ./从 Linux 终端运行 python?

linux - SSH 到多个服务器,然后 sftp 并将文件复制到服务器?

linux - 如何在执行 bash 脚本时自动 git fetch 和重置

shell - 退格后 HBase shell 崩溃

ios - 从后台打开后检测应用何时完成加载

java -/usr/bin/time 是否包括 java 程序的程序后垃圾收集?

database - 在 Linux 上安装 Oracle 数据库

linux - 在 unix 中执行 "jobs"命令时,+ 和 - 符号表示什么?

android - 如何在android中创建一个持续运行的后台文件上传?

android - 从堆栈中弹出 fragment 时,应用程序在后台崩溃