sigpipe

    1熱度

    2回答

    以下snakemake腳本: rule all: input: 'test.done' rule pipe: output: 'test.done' shell: """ seq 1 10000 | head > test.done """ 失敗,出現以下錯誤: snakemake -s test.s

    3熱度

    1回答

    $ perl5.8 -w -e 'if (my $pid=open(my $P, "|-")) { kill("SIGKILL",$pid); sleep(2); print $P "test1:$pid\n";}; ' Broken pipe 現在,我想抓住那水管壞了 $ perl5.8 -w -e '$SIG{PIPE} = sub {print "SIGPIPE\n";re

    1熱度

    2回答

    我試圖處理這一工作原理如下服務器: 它有一個父進程 它創建了一個「幫手」子進程來處理一些特殊的任務 它打開了用管道進行子進程;並使用管道向孩子發出命令。 它還衍生出許多其他子進程(服務器的主要目標是執行各種命令)。 我希望能夠檢測到管道寫入子進程失敗的時間;併發出特別通知。 通常情況下,我會通過在父進程中創建自定義$SIG{PIPE}處理程序來實現該目的。 但是,我關心的是父進程執行命令的一些進程

    1熱度

    1回答

    什麼時候管道程序終止,誰控制這個終止過程?我讀過Bash: why the pipe is terminated?,但它僅部分涵蓋了這個問題。在嘗試回答這個問題之後,我自己做了幾個例子來看看他們的結果。而這一次我不明白:(a.sh): #!/bin/bash echoerr() { echo [email protected] 1>&2; } echoerr a.sh started

    0熱度

    1回答

    我有一個客戶機/服務器程序,現在我要處理的信號。當客戶端關閉連接時(例如關閉終端),服務器必須處理SIGPIPE,對嗎?我想實現這樣的事情。可能嗎? server.c: void function(){ printf("..."); read(socket,buff,size); //IF THE CLIENT CLOSES, THE SERVER RECEIVES

    0熱度

    1回答

    我有我的服務器/客戶端在C上的這個問題。如果我在SIGINT後關閉服務器套接字,然後我嘗試從客戶端寫在這個封閉的套接字上,在客戶端生成SIGPIPE之前,我必須寫兩次。它不應該立即生成它嗎?這是一種正常行爲還是我需要解決的問題?這是我的代碼。我正在通過127.0.0.1連接,在Ubuntu上測試相同的PC上的東西。 server.c sigset_t set; struct sigaction

    3熱度

    3回答

    我有一個客戶端 - 服務器應用程序,其中每端通過TCP套接字與另一端進行通信。 我正確地建立了連接,然後在服務器崩潰之前,客戶端在套接字上寫入任何數據。 我看到的第一個write()嘗試(客戶端)是成功的,它返回實際寫入字節數,而下面的返回(如我所料)-1(接收SIGPIPE)和errno=EPIPE。 即使套接字已關閉,爲什麼第一個write()成功? 編輯 有時也以下write()有正收益值,

    0熱度

    1回答

    嗨我必須開發這個程序,創建4個孩子,並順序,讓他們做一個簡單的操作。第一個將完成總和,第二個完成,第三個複製和第四個分割。父親會在套接字上寫上他希望他的孩子「計算」的兩個數字的字符串,並且每個孩子都應該閱讀這個字符串,提取數字和操作。顯然,作爲兩個管道,需要父親每次寫入字符串,因爲讀取的是孩子。我不明白爲什麼在第二次迭代時,我會收到關於父親寫作的SIGPIPE。有人可以解釋我爲什麼嗎?我調試了3天

    1熱度

    1回答

    我有一個簡單的設置叉和管,我以前使用過。但是這一次,我在write調用中收到SIGPIPE。下面的代碼 int fd[2]; int pid; if (pipe(fd) == -1) { perror("pipe init error"); exit(1); } // signal(SIGPIPE, SIG_IGN); if ((pid = fork()) <

    0熱度

    1回答

    我的應用程序返回signal 13: Broken pipe: 13錯誤,原因可能是服務器端問題,我試圖忽略SIGPipes在我的應用程序中看看它是否工作,但是xcode不會讓我這樣做。它只是繼續給sigpipes。 我增加了以下內容: - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(N