起動時にプログラムバイナリをロードする

起動時にプログラムバイナリをロードする

私は私のLinuxシステム用のいくつかのユーティリティスクリプトを書いています。問題は、プログラムの最初の呼び出しが少し遅れることです。ディスク待ち時間のようです。よりスムーズな使用のために起動時にスクリプトを実行せずにこれらのスクリプトをキャッシュする方法はありますか?

答え1

スクリプト用であれば、キャッシュにロードできます。

cat /path/to/script >/dev/null

スクリプトインタプリタや共有ライブラリなど、関連するすべてのファイルに対してこれを行うこともできます。

exec  >/dev/null
cat /path/to/my/scripts/*
for interpreter in /bin/sh /usr/bin/perl; do
  cat "$interpreter"
  ldd "$interpreter" | sed -n 's!^[^/]*!!; /^\// s! .*!!p' | xargs cat
done

答え2

システム起動時にこれらのユーティリティスクリプトでリソース競合が発生するのが問題の場合は、数分間実行を遅らせることができます。 cron テーブルには次の項目があります。

@reboot sleep 120; cd /path/to/working/directory; ./script.sh 1> /dev/null 2>&1

関連情報