[英]why does a script take long to run than a normal terminal command?
所以我寫了一個很愚蠢的劇本
#!/bin/env tcsh
ls-F --color=always -h
並將其保存為test.csh
現在,當我time
相同的命令和腳本,這是我所看到的
time ~/scripts/bin/test.csh
....
Elapsed:0:04.63,User=3.733,System=0.329,CPU=87.4%.
如果我在終端中運行命令
time ls-F --color=always -h
....
Elapsed:0:00.00,User=0.000,System=0.000,CPU=0.0%
我不了解內核/調度程序的內部工作,我只是想了解導致此延遲的原因
我在用
RHEL5 x86_64
tcsh
作為我的外殼
謝謝
運行腳本時,它正在創建和初始化新環境,引用點文件,腳本等。
當您運行終端命令時,它會在已建立的環境中運行,並且不需要進行初始化。
您可以看到帶有strace
的額外進程
嘗試運行strace text.sh 2>&1 | tee out_script.txt
strace text.sh 2>&1 | tee out_script.txt
和strace ls-F --color=always -h 2>&1 | tee out_noscript.txt
strace ls-F --color=always -h 2>&1 | tee out_noscript.txt
然后,您可以比較或比較這兩個文件以查看設置新環境所需的其他步驟。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.