signal-handling

    0熱度

    3回答

    任何人都可以告訴我在Java中如何處理信號?我有一種情況,我需要通過應用程序main()向一個線程發送事件/信號。

    2熱度

    2回答

    使用信號處理程序的正確方法是什麼? 我看到下面的代碼從這個question,並想知道爲什麼你仍然需要把signal(SIGSEGV,sig_func);裏面的sig_func?當進程收到一個SIGSEGV信號時,不會創建一個無止境的循環嗎? void sig_func(int sig) { write(1, "Caught signal 11\n", 17); signal(

    8熱度

    4回答

    我在一個情況下,我需要閱讀的信號處理器(SIGSEGV信號處理程序,據我所知這是每個線程基地)內的二叉搜索樹(BST)內共享數據。 BST可以由應用程序中的其他線程修改。 現在既然信號處理程序不能使用信號量,互斥鎖等,因此無法訪問共享數據,我該如何解決這個問題?請注意,我的應用程序是多線程並在多核系統上運行。

    3熱度

    3回答

    爲什麼sem_wait不能用於信號處理程序(特別是每個線程的SIGSEGV信號)?有人能給我一個例子,它會使應用程序崩潰嗎?我猜sem_wait是折返和線程安全,所以這裏有什麼問題?爲什麼不是異步安全?

    1熱度

    1回答

    有人能告訴我什麼可能是來自Signal Handler的調用系統調用(SYS_gettid)的不利影響? 我知道它不在安全函數列表中被從信號處理程序調用,但我想知道它背後的原因?

    4熱度

    3回答

    我正在構建一個Django應用程序,它依賴於已經實現了SIGINT信號處理程序的python模塊。 假設我不能改變我所依賴的模塊,我該如何解決「信號只在主線程中工作」的錯誤我把它集成在Django中? 我可以在Django主線程上運行它嗎? 有沒有辦法阻止處理程序允許模塊在非主線程上運行? 謝謝!

    1熱度

    1回答

    我在Windows服務器(批處理文件,java,perl,csharp腳本/應用程序的混合)上運行各種進程。這些過程使用Autosys啓動。在Windows上autosys劑總是前綴我在「CMD/C」作業定義爲命令(見下例) C:\Windows\system32\cmd.exe /C foobar.exe 這本身是沒有問題的,但是當我嘗試通過發送殺工作一個autosys KILLJOB事件(

    2熱度

    2回答

    如果我發送多個後續Hangup信號,下面的程序,只有他們兩個人會被處理,其餘的將被忽略: #include <stdio.h> #include <unistd.h> #include <signal.h> int id; void handler(int s) { id++; int i; for(i=0; i<3; i++) {

    0熱度

    2回答

    我在爲函數pkg_getclient()寫一個測試單元。 它基本上是一個爲客戶端不定時監聽的函數。 這裏是實現:http://slexy.org/view/s21RBuOUOu(貼有保留的問題文本大小合理) 這裏是一個客戶端的一個例子 - 服務器測試:http://slexy.org/view/s2fS5hBkgI 這是我的單元測試的當前狀態: int test_pkg_getclient (ch

    13熱度

    2回答

    我正在編寫一個必須處理信號的shell程序。我的相關信號處理相關的代碼如下: #include <signal.h> ... #include <sys/types.h> ... void installSigactions(int, struct sigaction*); void handler_function(int signal_id); ... /*define sig