如何将守护进程带到前台?

我有一个在Debian 4.1上作为守护进程运行的python服务器。 我想查看它的标准输出,所以我想我应该把它带到前台以某种方式。 我怎样才能做到这一点?

如果守护进程在后台运行,并且没有任何选项可以在前台运行或login文件,我真的不认为它会在stdout上写一些东西(这不会很好)。
如果真的这样做,我会build议启动它redirect到一个日志文件,如:

mydaemon > /var/log/mydaemonlogfile 

如果deamon写入任何标准输出,它必须将其发送到日志文件。 如果您想实时查看logging内容,请执行以下操作:

tail -f the_log_file

会做的伎俩。 这就是通常监控Linux上的服务实时情况的方法。

“守护进程”程序总是从terminal分离,并且stdin,stdout,stderr描述符被closures。 这意味着除了一些特殊function之外,没有办法将其恢复,例如:

  1. 日志文件
  2. 特殊的应用程序控制台(单独的程序 – 像MySQL服务器的客户端)。 这也可以是某个端口绑定的telnet服务器

与shell中的subprocess不同,你可以随意使用fg和bg,守护进程通常是init的subprocess。 好的守护进程将把它们的stdout和stderrredirect到系统日志或直接到一个日志文件。 如果不是这样,并且您需要debugging当前正在运行的守护进程,并且不能或不想重启它,请尝试strace。 这至less应该让你对发生的事情有所了解。