在unix系統為什麼採用動態建立程序的方式

2022-08-30 12:35:05 字數 1400 閱讀 3734

1樓:匿名使用者

通過父程序來殺死子程序。 在unix作業系統中,程序有父子程序的關係。某個程序可能會建立另外乙個程序,這個建立者就是父程序,而新建立的程序就是子程序。

通常情況下,unix作業系統如果停止了乙個父程序,則該父程序產生的所有子程序都將自動終止。但是,這個過程可能會破壞資料檔案或者其他一些難以預料的結果。故正常情況下,筆者是建議系統工程師先關閉掉所有的子程序,然後再關閉父程序。

但是,當採取了任何手段,包括kill -9手段之後仍然無法正常殺死頑固程序之後,unix作業系統工程師只好採用這個終極殺手,即通過關閉父程序來自動關閉不聽話的子程序。但是,正如上面所說的,這很可能會導致一些連鎖反映。所以在採用這種方式之前,系統工程師還是要預先估計一下可能會帶來的後果。

如可以把這個父程序所產生的子程序能夠關閉的先關閉掉。然後再通過殺死父程序來自動終止子程序。這可以把對作業系統的不利影響降低到最低。

利用系統登出功能來關閉殺不掉的程序。 若通過關閉父程序仍然殺不死子程序的話,那麼管理員還可以通過登出系統的方式來殺死程序。這就好象windows系統登出一樣,會關閉當前的所有程序與任務。

不過有時候系統工程師可能不想關閉所有的程序,如一些關係到伺服器執行的程序。此時,系統工程師在登出unix作業系統之前,需要採取一定的手段,讓系統登出後仍然能夠保持某些程序正常運轉。如果系統工程師想在系統登出後仍然執行乙個或者多個程序,則可以採用nohup命令。

如此設定後,即使在系統登出後,在後台執行的程序仍然可以繼續執行,不會終止。這個手段就可以把系統登出對於使用者的不利影響降低到最低。如果unix作業系統是企業中的一台伺服器,而不是客戶端,那麼這個特性將會對企業很有利。

nohup命令執行由command引數和任何相關的arg引數指定的命令,而忽略所有結束通話訊號。為此在系統登出後仍然可以使用nohup命令執行後台中的程式。注意無論是否將 nohup命令的輸出重定向到終端,輸出都將附加到當前目錄的nohup.

out 檔案中。如果當前目錄的nohup.out檔案不可寫,則輸出重定向到$home/nohup.

out 檔案中。如果上面這些檔案都不可以用的話,那麼command引數指定的命令不可呼叫。故系統工程師如果事後要檢視這些unix作業系統登出後仍然執行在後台程序的結果,就可以依次檢視以上這兩個檔案。

unix作業系統登出後,通常再頑固的程序都會被殺死掉。不過有時候會因為程序實在難纏,登出的過程時間可能會比較長。若作業系統在長時間後仍然無法登出的話,那只有強制重新啟動電腦了。

不過重新啟動後很可能會出現啟動故障。重新啟動系統來終止程序是不得已而為止的做法了。所以,我們盡量不要選擇這個方法,希望大家都能夠提高自己的unix作業系統的操作水平。

2樓:匿名使用者

fork是乙個系統呼叫,呼叫fork的過程實際上是向系統發出請求的過程,所謂父子程序的關係,只是程序表中的定義而已,乙個程序呼叫fork生成的程序

有軌電車供電系統為什麼採用10kV

這是錯覺,其實有軌電車不是一根線而是兩根線,頭上的辮子是一根,腳下的鋼鐵軌道是另一根。兩根電源線進入了電機,電車就可以跑啦。公交電車用的是多少伏的電壓呀 為220v交流電能。電動車以電能替代了燃油,從根本上改變了傳統汽車的動力驅動方式,雖然使用功能一樣,但是從技術上已經根本不同。由交流充電樁提供22...

為什麼進行重灌系統時顯示目標分割槽是動態磁碟的GPT分割槽型別

回答親愛的 用diskgenuis軟體將gpt轉換為mbr。然後,直接換個驗證過的系統盤重灌系統就行了,這樣就可以全程自動 順利解決 系統安裝 的問題了。用u盤或者硬碟這些都是可以的,且安裝速度非常快。但關鍵是 要有相容性好的 相容ide achi raid模式的安裝 並能自動永久啟用的 能夠自動安...

為什麼別人評論我的說說不顯示在空間動態?

點設定 其他 其他設定裡第乙個 只顯示我空間最新動態 前面不要勾選上!見圖!滿意記得採納!系統問題吧,我有時候也會遇到這樣的情況,什麼問題都沒有,就是不顯示。點設定 其他 其他設定裡第乙個 只顯示我空間最新動態 前面不要勾選上!見圖!滿意記得採納!為什麼我發的說說在空間動態裡不顯示 要想發表的說說能...