http://codepad.org/rHIKj7Cd處理(而不是整個代碼)C信號與計時器
我試圖完成,是寫在共享內存大一些的父母,那麼孩子做出相應的反應,而寫東西回來,每五秒鐘一次。我想過使用SIGUSR1-2,也許在處理程序中切換Signum,但我不知道如何編寫它,因爲setitimer會引發SIGALRM。我顯然不想分叉處理程序,因爲我只需要一個孩子和一個父母,那麼我如何定義不同的行爲?我希望我的目標很明確:
每5秒:
- SIGALRM由定時器
- 家長寫入其計算到共享內存(正在使用的信號燈)
- 兒童從共享讀取拋出記憶,寫回它的計算
我也知道信號()沒有勸使用,這不是重點。
你可以使用類似[semaphores](http://linux.die.net/man/7/sem_overview)來同步兩個進程。 –
我正在那樣做,我很困惑的是在哪裏把父母和孩子的工作。因爲當我把它放在現在的位置時,它只運行一次,如果我把它放在處理函數中,會有更多不必要的過程。 – Innkeeper