2014-09-30 36 views
0

懷疑/ bin/sh啓動在我的嵌入式Linux套件上花費相當多的啓動時間。 在內核中,從kernel_init()啓動/ bin/sh。啓動/ bin/sh時會發生什麼?

  1. 它會尋找啓動腳本嗎?
  2. 如果是這樣,那麼腳本的名稱是什麼?
  3. 怎麼可能測量/ bin/sh的啓動時間?
+3

什麼樣的shell是/ bin/sh? – nos 2014-09-30 12:47:23

+0

'man sh'應該爲您提供針對您的特定系統的前兩個問題的答案。 – isedev 2014-09-30 13:11:53

回答

0

要測量命令的運行時間,可以用time命令作爲其前綴。在這種情況下,

time /bin/sh -c exit 

對您有用。它會啓動/ bin/sh,然後立即運行exit命令,所以您將得到的啓動時間加上sh的終止時間。或者,您可能會對strace命令感興趣,它會打印由運行的程序啓動的所有系統調用。這是猜測sh是否試圖通過考試統計和/或公開呼叫打開任何文件的一種方法。 strace以與時間相同的方式工作。我希望它有幫助。

Regards

+3

在某些系統上,'/ bin/sh'鏈接到一個更復雜的shell(例如在Linux上,/ bin/sh - > bash),所以第一條語句不正確。 – isedev 2014-09-30 13:11:24

+0

真的......我不好意思,我猜這是一個很小的系統,事實並非如此。 – 2014-09-30 13:31:22