V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
kisshere
V2EX  ›  程序员

执行 nohup 命令时, sudo -u 到底应该放在 nohup...&的外面还是里面?

  •  
  •   kisshere · Dec 13, 2019 · 5014 views
    This topic created in 2329 days ago, the information mentioned may be changed or developed.

    之前的问题: https://www.v2ex.com/t/627475 我测试了下,以下两个命令:

    nohup sudo -u www php backup.php &
    

    sudo -u www nohup php backup.php &
    

    所创建的文件和文件夹其用户都是 www 的,那到底哪个才是正确的

    4 replies    2019-12-15 16:28:56 +08:00
    dghgyxu
        1
    dghgyxu  
       Dec 13, 2019 via Android
    我是这么理解的:sudo 放 nohup 后面的话,是用当前用户执行 nohup,www 用户执行 php,nohup.out 是当前用户创建的; sudo 放 nohup 前面的话,nohup 和 php 都是 www 用户执行的,nohup.out 是 www 用户创建的。无所谓正确与否,怎么使用取决于实际需求。
    CivAx
        2
    CivAx  
       Dec 13, 2019
    没什么区别

    所有的子进程都继承自父进程,继承权意味着所有的子进程都会得益于 `nohup` 命令免疫所有的 `SIGNUP` 状态。

    这里的子进程执行 `php backup.php` 命令,父进程执行 `nohup sudo -u www` 或 `sudo -u www nohup`,无论如何你的父进程都由 root 执行,子进程都由 www 执行。
    gitopen
        3
    gitopen  
       Dec 13, 2019
    我用 screen 让进程后台
    realpg
        4
    realpg  
    PRO
       Dec 15, 2019
    9102 年了 还是 screen 吧
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1153 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 40ms · UTC 18:16 · PVG 02:16 · LAX 11:16 · JFK 14:16
    ♥ Do have faith in what you're doing.