推 foo:這作者……02/30 22:66
推 void:奇文共賞!!02/30 28:19
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.116.102.204
※ 文章網址: https://www.ptt.cc/bbs/Linux/M.1461417144.A.702.html
推 kenduest: 片段的程式碼無法提供有用的資訊 04/23 21:32
努力查 log 中,但不太清楚怎麼看。
推 chang505: 無窮迴圈是想幹嘛 04/23 21:55
→ chang505: 也沒有,只做一次,看錯 04/23 21:55
→ Neisseria: 用 Bash 做數字運算,除了練功外沒啥好處,玩玩就好 04/23 22:24
推 rickieyang: 你叫它算到第幾項當掉的?還有,第零項不是0嗎? 04/23 23:18
我算了兩次,結果都有出來,都在 50 以內。
第一次有點頓,之後操作都頓頓的。
又算了第二次,更頓了,結果還是有出來。
只是之後就越來越頓,就當了。
另外是在 screen 下執行的。
關於第 0 項,就隨便啦!(誤)
※ 編輯: Gold740716 (140.116.102.204), 04/23/2016 23:37:23
推 CaptainH: fork bomb... 04/24 00:00
→ rickieyang: 而且這程式邏輯不大對,50 會呼叫 49 48,49 呼叫 48 04/24 00:19
→ rickieyang: 47,48 呼叫 47 46,...,根本一直重複呼叫呀。 04/24 00:20
推 rickieyang: 49一次,48兩次,47三次,46四次,45五次...2會執行48 04/24 00:30
→ rickieyang: 次... 04/24 00:30
邏輯問題是 febo 1 和 febo 0 都回傳 1 ,
所以 febo 2 = 2 ,也就是我第 0 項變成 1 ;而不是 0 。
我想知道 fork 炸彈在哪,小弟功力不足。
-------------------------------
x | 0 1 2 3 4 5 6
--------+----------------------
febo x | 1 1 2 3 5 8 13
-------------------------------
※ 編輯: Gold740716 (140.116.102.204), 04/24/2016 00:47:28
推 Darkautism: 最簡單的費氏數列確實是會跑48次啊 不想跑這麼多次就 04/24 00:55
→ Darkautism: 要暫存 04/24 00:55
推 rickieyang: 以50項來說,用教課書的寫法,該函數會被呼叫 1226 04/24 01:06
→ rickieyang: 次。簡單說費氏數列只適合給遞迴舉例用,真的要算費 04/24 01:06
→ rickieyang: 氏,還是用基本迴圈吧。 04/24 01:06
→ danny8376: fork => echo $(expr `febo $j` + `febo $k` ) 04/24 15:41
→ danny8376: 這邊總共三個外部指令 會各會fork一次shell 04/24 15:41
→ danny8376: 各自在跑各自的外部指令 04/24 15:41
→ danny8376: 哎 不對 febo不是外部指令XD echo / expr 04/24 15:44
→ EdwardGJLee: 就平常負荷重一點的 sh script,如果一不小心沒去最 04/25 09:31
→ EdwardGJLee: 佳化,也是跑得很喘,尤其是 loop+呼叫外部程式時。 04/25 09:32