之前的问题: https://www.v2ex.com/t/627475 我测试了下,以下两个命令:
nohup sudo -u www php backup.php &
和
sudo -u www nohup php backup.php &
所创建的文件和文件夹其用户都是 www 的,那到底哪个才是正确的
1
dghgyxu 2019-12-13 12:02:08 +08:00 via Android
我是这么理解的:sudo 放 nohup 后面的话,是用当前用户执行 nohup,www 用户执行 php,nohup.out 是当前用户创建的; sudo 放 nohup 前面的话,nohup 和 php 都是 www 用户执行的,nohup.out 是 www 用户创建的。无所谓正确与否,怎么使用取决于实际需求。
|
2
CivAx 2019-12-13 14:27:27 +08:00
没什么区别
所有的子进程都继承自父进程,继承权意味着所有的子进程都会得益于 `nohup` 命令免疫所有的 `SIGNUP` 状态。 这里的子进程执行 `php backup.php` 命令,父进程执行 `nohup sudo -u www` 或 `sudo -u www nohup`,无论如何你的父进程都由 root 执行,子进程都由 www 执行。 |
3
gitopen 2019-12-13 14:30:46 +08:00
我用 screen 让进程后台
|
4
realpg 2019-12-15 16:28:56 +08:00
9102 年了 还是 screen 吧
|