signal-handling

    1熱度

    1回答

    是否有可能捕獲一個SIGINT來阻止Julia程序運行,但以「有序」方式執行? function many_calc(number) terminated_by_sigint = false a = rand(number) where_are_we = 0 for i in eachindex(a) where_are_we = i

    1熱度

    4回答

    與處理異步信號相比,我試圖找到處理同步信號(SIGSEGV,SIGILL等)的資源。 的典型的信號處理機制(使用kill,例如)調用來自內核的控制轉移到用戶模式信號處理程序。我的理解是,'同步'信號更像是系統調用,因爲控制器會立即傳輸到內核 - 可能是因爲同步信號通常與CPU中斷(內存保護等)相關聯,並且無論如何都會調用內核處理程序。 libc函數是否是'async-signal-unsafe'安

    1熱度

    1回答

    我在Solaris平臺上有一些遺留代碼,我想將它移植到Linux,但是我在Linux上遇到了一些編譯錯誤。 在Solaris上,我有下面的代碼片段: #include <signal.h> ... void f() { struct sigaction a; sigaction(sig,0,&a); std::cout << (void *) a.sa_handl

    0熱度

    1回答

    我呼籲myMain.py與遞增的數字自動執行另一個Python程序這個簡單的Python腳本,我運行它在CentOS 7: #!/usr/bin/python import os import sys import time def main(): step_indicator = "" arrow = ">" step = 2 try:

    0熱度

    1回答

    Linux信號我有一個C程序是這樣: while(1){ if(flag1){ ... } if(flag2){ ... } } 現在,這些標誌將在處理程序SIGINT和SIGTSTP信號得到提升。終端只是顯示^ C和輸入Ctrl + C鍵或Ctrl + Z時^ Z,但條件代碼塊不被執行。 然而完全相同的程序,但如果我給一個pr

    0熱度

    1回答

    我有一個動態創建的餅圖,它使用下面描述的函數createPieChart()。當單擊切片時,我想調用一個函數來打印出該切片的標籤和值。 我面臨兩個問題: 雖然我連接「點擊」或「按下」或「釋放」信號,沒有達到插槽。我正在使用qtcharts 2.0(我現在無法更新)。 我能夠連接「徘徊」信號,但沒有傳遞任何參數,所以我不知道我進入了什麼切片。 這些都是其他功能: function createPie

    0熱度

    1回答

    我有一個Qt應用程序,它調用主要QML組件的qt_update_values()。我想將新值發送給特定的代理。我如何連接update_values()從主要組件接收特定的子組件,它是在另一個qml中定義的? 我試圖確定在孩子的連接,但我不知道什麼樣的目標,我需要定義... 在main.qml我有一些與此類似: ... signal update_values(new_values) func

    1熱度

    1回答

    我正在寫一個多線程程序,需要使用以下的bash行終止處理SIGQUIT SIGUSR1,並忽略其他SIGQUIT。 要忽略我寫了這個信號: struct sigaction s; s.sa_handler=SIG_IGN; if((sigaction(SIGQUIT,&s,NULL))==-1) { perror("sigaction"); return -1;

    0熱度

    1回答

    我想在兩個獨立進程(即用於通知的寫入程序和讀取程序)的上下文中處理信號處理程序。寫入器向讀取器發送第一個信號SIGUSR1,該信號循環直到聽到來自寫入器的第二個信號SIGUSR2。 reader.c static volatile sig_atomic_t done_waiting; int handler1(int signal){ done_waiting = 0; w

    2熱度

    1回答

    我目前正在嘗試通過使用它們來控制用fork()方法創建的子進程來使用C中的信號。從本質上講,我有一個子進程從linux終端運行「是」命令(該命令只是打印「y」和一個換行符,直到它終止)。我希望能夠用CTRL-Z暫停/恢復這個過程。這就是我得到了現在: #include <signal.h> #include <stdio.h> #include <stdlib.h> pid_t CHILD_