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