정의되지 않은 기호를 사용하고 Linux를 다시 시작하세요.

정의되지 않은 기호를 사용하고 Linux를 다시 시작하세요.

이 질문이 궁금합니다.

undefined symbol누군가가 프로그램을 시작할 때 오류를 범했다고 가정해 보겠습니다 . 이 문제를 해결하려면 누군가가 같은 도구나 다른 도구를 사용하여 ldd프로그램 ldconfignm다시 시작하기 위해 어떤 라이브러리를 교체해야 하는지 알아낼 수 있습니다.

하지만 다른 상황을 가정해 보겠습니다. 프로그램 사용자가 운영 체제를 다시 시작한 다음 프로그램을 시작하면 오류가 없습니다. undefined symbol즉, 프로그램이 정상적으로 시작됩니다. 이는 올바른 라이브러리(해당 기호 포함)가 시스템에 이미 존재하는 경우에만 발생합니다.

  • 리눅스에서 가능한가요?
  • 그렇다면 어떤 상황에서?
  • 공유 라이브러리에 대한 자세한 내용을 보려면 Linux 시스템을 재부팅하는 동안 어떤 일이 발생합니까?

답변1

두 가지 상황이 떠오릅니다.

  • 라이브러리를 사용하는 프로세스가 실행되는 동안 라이브러리를 업데이트하십시오. 프로세스는 다시 시작될 때까지 이전 버전의 라이브러리를 보게 됩니다.

  • 사용된 장착 지점에 장치를 장착합니다. 이 마운트 지점에서 실행 중인 프로세스는 이전 보기를 유지합니다.

두 경우 모두 재부팅하면 해결이 가능하지만 귀하의 경우에도 적용되는지는 잘 모르겠습니다.

관련 정보