signals

    1熱度

    1回答

    在現有多線程應用程序的上下文中,我想暫停特定持續時間的線程列表,然後恢復其正常執行。我知道你們中有些人會說我不應該這樣做,但我知道這一點,我沒有選擇。 我想出了下面的代碼,那種工作,但隨機失敗。對於每個我想暫停的線程,我都會發送一個信號,並通過信號燈等待一個確認。信號處理程序在調用時發佈信號並在指定的持續時間內休眠。 問題是當系統完全加載時,對sem_timedwait的調用有時會因爲ETIMED

    0熱度

    1回答

    我有以下情況: 線程1: 把一個孩子和孩子叉起來,再說一遍A又執行一個過程。乙 線程2: 偵聽通過Unix域套接字的命令,並殺死的過程中,已經分叉的孩子B,A在線程1 迴應來電者,它已經殺死了孩子 我想忽略線程2的SIGPIPE,因爲我不希望程序在客戶端關閉套接字時崩潰。所以我試圖用 sigset_t set; sigemptyset(&set); sigaddset(&set, SIGPIP

    -2熱度

    1回答

    我有離散的腦電信號,我試圖從每個通道中提取絕對功率。採樣率爲30Hz。我感到困惑的是我不知道如何準確編程。 首先我做: y = fft(eegdata); 這給了我一個複雜的兩倍。我必須在Hamming窗口+ 50%重疊的頻帶(alpha +)內進行計算,但我不知道如何去做。任何人都可以幫我解決這個問題嗎?

    3熱度

    1回答

    我正在實現鍵盤擴展。但有時它會在啓動時遇到SIGQUIT信號。 的情況如下: 點擊TextView的,和鍵盤出現 點擊任何東西,隱藏鍵盤 切換到另一個應用程序 點擊TextView的,等待鍵盤出現 CRASH !!! SIGQUIT Exception Type: EXC_CRASH (SIGQUIT) Exception Codes: 0x0000000000000000, 0x0000000

    1熱度

    2回答

    我正在開發一個比較兩個數字列表的算法。這些列表代表使用robust peak detection method在信號中發現的峯值。我想提出一些方法來確定峯值是否處於同相,異相或兩者之間(無法確定)。例如: 這些陣列將在階段考慮: [ 94 185 278 373 469], [ 89 180 277 369 466] 但這些陣列會出的階段: [51 146 242 349], [99 200 30

    -1熱度

    1回答

    我想將closeWidgetUI類方法發出的信號連接到addTool類方法。但是這似乎只適用於PyQt4而不適用於PySide。每當我點擊在self.close_btn.clicked.connect(self.closeWidgetUI)中創建的closeButton,程序就會自動凍結並關閉。任何消化? import PySide.QtCore as qc import PySide.QtGu

    0熱度

    1回答

    我正在努力瞭解OpenMPI中的信號處理。我讀到「Open MPI將SIGUSR1和SIGUSR2從mpiexec轉發到其他進程」。我的問題是,這是默認安裝啓用此功能。 這種情況是,一個MPI進程產生一個SIGUSR1,必須通過'orted'來檢測,然後轉發給其他進程。 在我的測試代碼中,我爲SIGUSR1定義了一個自定義信號處理程序,並相應地註冊了該信號處理程序。我使用kill()或raise(

    0熱度

    1回答

    我通過Go啓動一個簡單的Java應用程序,目的是證明Go可以發送像SIGQUIT或SIGTERM這樣的信號,並且Java可以捕獲並適當地處理它(即優雅地關機)。當我在命令行上運行Java程序並將其發送給CTRL + C時,Java程序會正確捕獲該信號。 但是,當我通過Go啓動Java程序並嘗試向進程發送信號時,Java進程既不會被終止,也不會處理該信號。唯一有效的是SIGKILL,當然沒有被捕獲,

    0熱度

    1回答

    我是新來的信號,我試圖在UDP回顯服務上設置SIGALRM,作爲套接字編程實踐。 所以在這裏我有一個UDP套接字,客戶端發送一個字符串到服務器,並等待響應(任何響應,這裏的字符串是由服務器迴應)。 目標是設置SIGALRM,並讓客戶端重新發送字符串幾次,如果服務器沒有響應或UDP數據包丟失。 在這裏,我用了一個小樣本,並簡化長線,...,你可以在我的github repo(51行)的詳細信息 SI

    0熱度

    1回答

    我正在用fifo寫一個簡單的客戶機/服務器通信,但我堅持使用信號處理程序來處理客戶機請求。 服務器以只讀和非阻塞模式打開fifo,讀取收到的數據並將某些數據寫回客戶端fifo。 而當服務器端沒有信號處理程序時,這實際上工作正常。這是雙方的主要代碼。 服務器: int main(int argc, char *argv[]) { // install handler struc