sigterm

    3热度

    2回答

    我做了一个ROS节点,它使用python的扭曲协议建立与客户端的连接。该方案是,但如预期工作时,我试图杀死用Ctrl + c中的程序,它显示以下错误消息: [server_send_command_ver3-4]升级到SIGTERM 我已经包括以下的我的代码部分: if __name__ == '__main__': try: #node initialization

    6热度

    1回答

    我希望能够在码头集装箱内运行节点,然后能够运行docker stop <container>。这应该在SIGTERM上停止容器,而不是超时并执行SIGKILL。不幸的是,我似乎错过了一些东西,我发现的信息似乎与其他的东西相矛盾。 下面是测试Dockerfile: FROM ubuntu:14.04 RUN apt-get update && apt-get install -y curl RU

    0热度

    1回答

    我通过start-stop-daemon将SIGTERM信号发送到我的服务器。正如预期的那样,服务器在收到信号时关闭。现在我想在收到SIGTERM后停止我的服务器10秒钟,然后关闭它。为了达到这个目的,我写了 def sigterm_handler(signum): time.sleep(10) sys.exit(0) Class server(object):

    9热度

    1回答

    所以我有一个相当简单的设置Heroku。我使用RabbitMQ来处理后台作业。我的设置由一个节点脚本组成,每天使用Heroku Scheduler addon。这些脚本将作业添加到队列中,然后将作业消耗并将它们委托给单独的模块进行处理。 的问题开始我收到SIGTERM事件的Heroku随机启动自时间到时间后,重新启动实例之前。 由于某种原因,在实例重新启动后,工作人员再也不会恢复。只有当我通过执行

    2热度

    1回答

    我有一个GCE服务器设置来处理一些数据分析。我可以通过使用twisted与它沟通。我是这台服务器的唯一客户端。 系统是安装程序是这样的: spawn_multiprocessing_hierarchy() reactor.run() # Blocks main thread stop_everything_and_cleanup() 当我试图阻止系统和客户端连接,reactor会忽略(?或

    0热度

    1回答

    我正在运行一个执行长时间运行的数据迁移作业的节点程序。经过一个小时后,Node进程终止Abrt守护进程并创建核心转储。 展望我看到这种情况的原因: node process was killed by signal 6 (SIGABRT) 为什么节点进程被杀死任何想法,如何处理呢?

    0热度

    1回答

    环境SIGTERM: 我有叉蟒蛇服务器到3个孩子。 父: SIGTERM应该杀害所有儿童和SIGHUP只是应该记录和存在 对于孩子: 两个SIGTERM和SIGHUP映射到SIG_DFL 问题: 当我通过命令行python <script.py>启动脚本,并发送SIGHUP母公司kill -1 <pid-of-parent>它表现良好。父母出口和忙碌的孩子只有在完成他们的I/O后才能退出。 但如果

    2热度

    3回答

    我有在XCode 6中构建的控制台C++应用程序,并且想要为其添加SIGTERM处理程序。有很多例子,但我无法让他们工作。 #include <csignal> namespace { volatile std::sig_atomic_t gDone = 0; } static void term_handler(int i) { gDone = 1; }

    0热度

    1回答

    过程A设置陷阱。然后它创建一个子进程B.如何清除进程A设置的陷阱? processA #! /bin/bash # processA.sh trap '' 15 sh processB.sh 进程B #! /bin/bash # processB.sh echo "Current trap" trap -p echo "Clearing trap 15" trap - 15

    1热度

    1回答

    我有一个程序来捕获任何终止信号。目前它所做的全部都是赶上Ctrl + C。我希望能够赶上Ctrl + Z和Ctrl + \除了Ctrl + C。这是我的代码的一部分。 if (signal(SIGINT, SIG_IGN) == SIG_ERR) fprintf(stderr,"Error: Can't catch SIGINT\n"); if (signal(SIGTERM, SI