AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 591595
Accepted
Guss
Guss
Asked: 2014-04-28 03:42:38 +0800 CST2014-04-28 03:42:38 +0800 CST 2014-04-28 03:42:38 +0800 CST

Unix 进程没有被杀死但没有运行

  • 772

我有一个正在运行一些自定义软件的系统,然后可能会收到一个SIGHUP. 作为 的结果SIGHUP,该进程会进行一些清理并终止,但它不会终止其长时间运行的子进程。

在系统运行了几个月后(在此过程中,我的许多进程不幸被挂了),我可以在我的 Ubuntu 12.04 服务器中看到我有许多以 init 作为它们的子进程父母,但他们没有运行,也没有停止或僵尸 - ps 显示他们处于“睡眠”状态。

如果我尝试 strace 这些进程之一,该进程开始运行,然后立即看到它试图处理不再存在的文件(几个月前创建和删除的临时文件)并退出:

# strace -fp 16111
Process 16111 attached - interrupt to quit
open("/tmp/some-file", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
write(2, "/tmp/some-file:"..., 59) = 59
close(3)                                = 0
exit_group(1)                           = ?
Process 16111 detached

如果我尝试这样做也会发生这种情况kill -STOP <pid>(至少我猜是这样 - 在我发送信号后,进程消失了)。

知道发生了什么吗?

process
  • 1 1 个回答
  • 995 Views

1 个回答

  • Voted
  1. Best Answer
    kasperd
    2014-04-28T06:44:22+08:002014-04-28T06:44:22+08:00

    该过程可能已经接收到终端停止信号之一。如果后台进程尝试与终端通信,则可能会发送这些消息。有三种类型的终端停止信号:TSTP、TTIN和TTOU。我的第一个猜测是该进程在后台尝试从终端读取数据,因此发送了一个TTIN信号。当您通过附加 strace 恢复它时,不再有终端,因此如果重试读取,它会收到错误代码而不是信号。解冻进程的另一种方法是向其发送CONT信号。

    • 0

相关问题

  • 如何将作业发送到后台而不停止它们?

  • Linux 服务器上的多个*几乎*相同的进程

  • 运行多个实例的 Outlook 2007

  • 在 Windows 上识别未知进程的最佳方法是什么?

  • 您如何记录您的工作、流程和环境?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve