我有一个过程 - 一个 perl 脚本 - 它可以:
while true
check a POP account on a server on the lan
process any email found
write logs - messages found, actions taken, errors
sleep for 15 seconds
它在 redhat 7.3 服务器上运行(我继承了它,我对那个盒子的年龄不满意)。它已经用完了 /etc/inittab ,例如:
spop:2345:respawn:/usr/local/gw/bin/popdmn
如果它死了,init 会重新启动它。
在过去的几天里,该过程将不再起作用,除非它被跟踪。当它刚刚运行时,它永远不会登录到弹出服务器。一旦它被跟踪(通过“strace -Ff -p cat /usr/local/gw/var/popdmn.pid
”),它就可以完美地工作。
作为一种解决方法,我正在运行 strace 的服务器上运行屏幕。显然,这不太理想。
为什么进程会这样做?我以前从未见过这种情况。