signals

    0熱度

    2回答

    我目前正在編寫一個簡單的shell在C中,我面臨的信號問題。 例如,當我啓動我的程序時,我鍵入ping命令,然後鍵入CTRL-Z我希望子進程(ping命令)暫停,然後在我使用fg時回來。 我認爲我需要存儲一個全局變量執行ping命令的子pid。 我已經檢查了其他帖子來解決我自己的問題,但我無法得到它的工作。 這是執行命令(多個命令| |)和存儲子pid的代碼。 int exec_proc(int

    1熱度

    1回答

    我正在實施一個簡單的shell程序,實現&和|按預期工作。 但是,我想處理中斷,以便在收到SIGINT的情況下,父(shell)和後臺進程不應該終止,但任何前臺進程都應該終止。 我已經初始化了一個信號和一個處理程序,但我想獲得有關如何針對每個進程處理它的不同建議。 void intHandler() { flagInt = 0; fprintf(stderr, "interru

    -2熱度

    1回答

    我創建了一個電壓信號的正弦波。 如何用128 LSB/Volts的比例表示? 振幅爲180伏。 Obs:我猜LSB是「低顯着位」。 我的代碼: int main(int argc, char **argv) { int i = 0; short value; double amp = 180, freq = 60, freq_samp; freq_samp

    -1熱度

    1回答

    我搜索了與此相關的答案,但沒有遇到任何問題。我正在爲P2P網絡編寫套接字程序,因此我需要合併一些信號處理。 如果我在運行程序時按下CTRL + C,程序應向另一個對等方發送「LEAVE」請求。 僞代碼: if conditionX dosomething(IP, port) if conditionY dosomethingelse(IP, port) if SIGINT

    0熱度

    1回答

    我正在嘗試創建一個信號,然後通過對我首先創建的CT信號進行採樣來構建一個離散時間信號。直到最後一個for循環,事情運行良好,但我需要採用T分隔N個樣本。沒有if語句,我得到一個索引越界錯誤,我不得不在信號持續時間內限制採樣。出於某種原因,我的代碼一次只進入if語句,而對於調試,我打印出if和if之外的值。儘管邏輯操作在多次迭代中應該是正確的(打印語句將顯示值),但它不會在if語句內打印語句。這裏有

    0熱度

    2回答

    爲什麼我的應用程序保持崩潰,好嗎?這似乎是問題, libc++abi.dylib: terminating with uncaught exception of typeNSException (lldb) 但我不是100%是什麼意思。我檢查了所有按鈕和文本字段都標有正確的標識符。先謝謝了。 !!控制檯 console one console 2

    0熱度

    1回答

    我有一個QGraphicsItem,用戶可以拖動。我想保留的項目在我的場景的右上象限,所以我推翻mouseMoveEvent這樣的: def mouseMoveEvent(self, event): if self.x() < 0: self.setPos(0, self.y()) if self.y() + self.rect().height() > 0:

    1熱度

    1回答

    我有一個任務,我需要創建一個父進程和2個子進程具有相同的父親,第一個子進程需要讀取一個字符串並打印它控制檯,第二個子進程需要讀取另一個字符串並將其打印在控制檯中,並且父親需要連接這兩個字符串並將其打印在控制檯中。這看起來很簡單,但即將面臨等待和信號部分的艱難時刻,我無法讓父親先等待孩子進程,以便他可以採取行動。 #include <stdlib.h> #include <fcntl.h> #i

    0熱度

    2回答

    抱歉,如果標題不是那麼具有描述性,我不知道該如何表達。 我有兩個表格: 1.-包含代碼字段和另一個「is_taken」字段的「Matricula」表格處於「False」狀態。2.「User」表格和註冊新用戶時必須插入如果代碼存在,然後「is_taken」將是「真」,並允許用戶註冊,我的問題是......我該怎麼做?,哪種方式將是最好的? 我正在處理「pre_save」信號,但沒有成功。 model

    1熱度

    2回答

    這裏我想在睡覺時向家長髮送SIGINT信號。我已經通過編寫程序來嘗試它。在這個程序中,我不明白爲什麼來自父項的SIGINT信號處理程序根本沒有執行? 這裏是代碼: #include<stdio.h> #include<signal.h> #include<unistd.h> #include<stdlib.h> void sig_usr(int signo){ if(signo