gpt4 book ai didi

Unix后台进程异常停止

转载 作者:行者123 更新时间:2023-12-04 20:17:19 26 4
gpt4 key购买 nike

我使用以下命令在后台执行了一个 perl 脚本

nohup perl myPerlSCript.pl >debug_log &

几分钟后,我的状态为

[1]+ Stopped



我没想到它会停止,我也不知道是什么阻止了它。我如何调试它并找出它停止的原因?我实际上对了解用于调试的 unix 命令很感兴趣。

最佳答案

有几种方法可以停止在后台运行的进程。所有这些都涉及以下信号之一:

  • SIGSTOP
  • SIGTSTP
  • SIGTTOU
  • SIGTTIN
  • SIGSTOP很严重。它是不可阻挡的、不可忽视的、不可处理的。它会像 SIGKILL 一样确定地停止进程会杀了它。其他的可以由后台进程处理以防止停止。
  • 另一个进程使用 kill(2) 发送了一个信号,或者通过进程使用 raise(3)kill(2)
  • 进程试图写入终端,终端选项 tostop已启用(请参阅 stty -a 的输出)。这会生成 SIGTTOU .
  • 该进程尝试使用 tcsetattr(3) 更改终端模式或等效的 ioctl . (这些模式与 stty 显示的模式相同。)这将生成 SIGTTOU无论 tostop 的当前状态如何旗帜。
  • 该进程试图从终端读取。这会生成 SIGTTIN .

  • 这个列表可能非常不完整。

    关于Unix后台进程异常停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10588334/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com