tar*_*yte 3 linux bash upstart
是否可以将 upstart 启动的进程置于前台?
root@me:~# ps aux | grep my-app
root 2208 0.2 0.0 1456 480 ? S 17:38 0:01 /opt/me/my-app
root@me:~# fg 2208
-bash: fg: 2208: no such job
root@me:~# fg $(pidof my-app)
-bash: fg: 2208: no such job
Run Code Online (Sandbox Code Playgroud)
fg需要工作号,而不是 PID。没有您可以使用的作业号,因为启动的任何进程upstart都不是您的 shell 的子进程。它不会出现在jobs输出中。
尝试reptyr,例如:
reptyr 2208
Run Code Online (Sandbox Code Playgroud)
从它的手册页:
reptyr是一个实用程序,用于获取现有正在运行的程序并将其附加到新终端。
不要错过这个注意事项:
reptyr取决于ptrace(2)附加到远程程序的系统调用。在 Ubuntu Maverick 及更高版本上,出于安全原因,默认情况下禁用此功能。您可以通过执行临时启用它Run Code Online (Sandbox Code Playgroud)echo 0 > /proc/sys/kernel/yama/ptrace_scope以 root 身份,或通过编辑文件永久保存,该文件
/etc/sysctl.d/10-ptrace.conf还包含有关此设置的更多信息。
另请注意,reptyr仅将进程附加到另一个终端。这并不意味着该进程成为您当前 shell 的子进程。
| 归档时间: |
|
| 查看次数: |
454 次 |
| 最近记录: |