程序與程式的區別:
1)程序是程式及其資料在計算機的一次執行活動,是乙個執行過程,是乙個動態的概念。程序的執行實體是程式,離開程式的程序沒有存在的意義。而程式是一組有序的指令集合,是一種靜態概念。
2)程序是程式的一次執行過程,它是動態地建立和消亡的,具有一定的生命週期,是暫時存在的;而程式則是一組**的集合,它是永久存在的,可長期儲存。
3) 通過多次執行,乙個程式可對應多個程序;通過呼叫關係,乙個程序可包括多個程式。
4)程序和程式的組成不同。從靜態角度看,程序由程式、資料和程序控制塊(pcb)三部分組成。而程式是一組有序的指令集合。
ctrl+c(關閉乙個程序)對應的kill的程序號為2的訊號,ctrl+z(將該程序移至後台)為9;
zz退出程式的編寫(不儲存)
ps -elf( | grep ***)是檢視所有程序,括號中的內容是以***為關鍵字搜尋
程序的生命週期
建立執行 → (執行 就緒 等待)
撤銷fork無形參,有兩個返回值且同時進行,子程序拷貝父程序位址與資料,但不是公用,修改記憶體時為寫時拷貝(父程序返回子程序的id,子程序返回0,當出錯時返回-1)
vfork與fork的區別是子程序與父程序共享同一位址空間 當子程序改動時候會影響父程序的值
execl啟動乙個新程序並進行操作
system是在程式中進行系統的操作
wait是放在父程序中,等待子程序結束並**子程序的資源
status是儲存子程序的退出狀態,返回值
wait(&status)一起用是父程序捕捉到子程序結束時的返回值
waitpid(pid,&status,0)等待指定的程序結束,pid為該程序,0位置是options預設為0
kill(pid,sigint)為傳送程序,sigint為程序號
raise(2)給自己傳送訊號,2為該訊號的編號,為ctrl+c
signal(2,sig_ign)將收到的編號為2的訊號忽略並用後面的sig_ign代替執行(訊號為9,19的編號所代表的的訊號優先順序最高,編譯沒錯,但不能執行)
alarm(2)延時2秒後給本身程序傳送乙個sigalrm訊號(一般為殺死)
寒假集訓第二天
程式與程序 程式是放到磁碟的可執行檔案,程序是執行程式的例項。程式是靜態的,程序是動態的。程式是有序 的集合,程序是程式的執行。通常程序不可在計算機之間遷移,而程式對應的是檔案,靜態,可以複製。ps elf 類似任務管理器 開啟所有程序。ctrl z 後台執行程序 fg 將後台切到前台 ps elf...
寒假集訓第二天 貪心 Saruman s Army
問題解析 給出數軸上的一些點代表可放置的位置,給出裝置的覆蓋範圍 覆蓋的半徑 求出最少用多少個裝置能把所有給出的位置全部覆蓋.貪心問題 從乙個未覆蓋的位置向前遍歷,找到滿足距離小於 r 的最右邊的點,這個點一定作為乙個裝置的放置位置,然後從這個位置找到右邊的最小的不能覆蓋到的位置,這個位置作為下一次...
上班第二天
本想坐晚一班車的,誰知道這晚一班的也只是晚了 五 六分鐘,不高興再在站台上等,也只好小跑到車門上去了,果然,八點十分就到了。白天那個困啊 今天的工作內容和昨天一樣,做到後來我實在覺得測的差不多了,想幹些其他的,但這初來乍到的,也不好幹其他的呀,況且領導辦公室就在我旁邊。今天的工作總結有兩點 1 別把...