시작 시 프로그램 바이너리 로드

시작 시 프로그램 바이너리 로드

나는 내 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

관련 정보