我一直在研究我的學校項目,現在我一直在這一步停留了幾天。任何形式的幫助將不勝感激! 從Bash終端重新啓動C程序
我試過到目前爲止:
- 編譯腳本。它編譯正確,我可以通過鍵入./process.o來運行它,但是當我殺死它時,它不能這麼做,它會重新啓動。我一直在使用谷歌搜索和嘗試各種事情,但似乎沒有任何工作,它總是殺死進程,但不重新啓動它。
- 殺-SIGKILL(PID)
- 殺2(PID)
- 殺1(PID)
- 殺-HUP 3155
- 各種其他命令,只有殺了它,似乎沒有任何工作。我必須修改代碼或其他東西嗎?我深感困惑。
這是我必須做的:
請與C.一個新的文件名稱爲
process.c
(這篇)#include <stdio.h> #include <unistd.h> int main() { printf("Creating a background process..\n"); pid_t pid = fork(); if (pid > 0) return 0; /* Host process ends */ if (pid < 0) return -1; /* Forking didn't work */ while(1) { } /* While loop */ return 0; }
保存它下面的代碼編譯,以工作程序稱爲
process.o
並啓動該過程。 (這樣做,工作到了這一點)使用
kill
命令,重新啓動process.o
(殺死進程的工作,但它不會重新啓動它)
您確定這完全是您必須完成的任務嗎?因爲它對我沒有多大意義。 'kill'命令不會重啓任何東西。 – kirelagin
對於生成的_linked binary_也使用'.o'擴展名是很奇怪的。 – kirelagin
是的,我有點困惑。我知道Linux和C/C#和Java的基礎知識,但這對我沒有任何意義。我不知道是否應該以某種方式修改代碼,但其任務是:使用kill命令再次啓動process.o。 – Jones