tmux 세션의 제한된 권한

tmux 세션의 제한된 권한

저는 tmux 세션을 사용하여 libvirt를 사용하여 가상 머신을 생성하는 일부 Python 코드(/opts/...에 저장된 가상 환경을 사용합니다. Python 바이너리는 복사되었지만 연결되지 않음)를 실행하는 스크립트를 실행하고 있습니다. 스크립트가 완료된 후 virsh list --all이 tmux 세션을 실행 하면 머신이 표시되지 않습니다. 내가 실행할 때 sudo virsh list --all그것들이 나타납니다 . 세션을 종료하면 virsh list --all가상 머신이 예상대로 표시됩니다. 또한 이후에 생성하는 새 tmux 세션에도 예상대로 나열됩니다. 무슨 일이 일어났으며 이 문제를 해결하는 방법은 무엇입니까?

tmux 외부에서 스크립트를 실행하면 가상 머신 목록이 작동합니다 virsh list --all.

답변1

이것이 문제가 해결되는지 모르겠습니다. 그러나 다음은 내 문제를 해결했습니다.

  • 모든 tmux세션을 중지합니다.
    • 실제로 모든 것이므로 tmux더 이상 시스템에서 실행되지 않습니다.
  • 로그아웃
  • 다시 로그인하세요
  • 새로 시작하다tmux

이제 virsh list --all예상대로 작동합니다.tmux

내 쪽의 문제는 libvirt내가 시작한 후에 내 사용자가 그룹에 추가된다는 것입니다 tmux. 따라서 그 안에 있는 모든 대화는 tmux심지어 새로운 대화라도 아직 그룹화되지 않습니다 libvirt.


tmux새로운 tmux호출도 여전히 동일한 이전 서버에서 시작되기 때문에 이는 성가신 일입니다 tmux(현재 서버에서 시작한 다음 Unix 소켓을 통한 FD 패스를 통해 서버로 전달될 수 있지만 작동 방식은 tmux아닙니다 . 한숨). 그래서 모든 것들이 이 서버와 함께 사라질 것입니다. (저는 서버와 모든 클라이언트가 그것을 보유하고 있어서 그들 중 하나라도 죽더라도 정말 나쁜 일은 일어나지 않기를 tmux바랍니다 ).ttytmux

그리고 tmux서버가 너무 자주 충돌합니다. tmux1,000개의 가상 머신에서 실행할 때 1년에 한 번은 하루에 세 번을 의미합니다. 충돌 확률이 10^-20("충돌 가능성이 더 높음")만큼 낮더라도 tmux요즘 모든 컴퓨터는 최소한 초당 10^10 명령을 실행하므로 충돌이 너무 자주 발생한다는 의미입니다. 이는 대략 오늘날을 의미합니다. , 비행기 추락 사고는 350년마다 발생합니다.

계산 단위가 1,000억 개이고 충돌당 작업 손실이 5달러라는 대략적인 추정치에도 불구하고 이는 여전히 tmux불안정한 설계로 인한 순 손실이 하루 100만 달러를 훨씬 넘을 수 있음을 의미합니다.

죄송해요. 수학만 좀 할게요. ("충돌"에는 모든 세션에 액세스할 수 없도록 하는 "정지" 또는 기타 가능성이 포함됩니다 tmux. 그러나 정지는 문제의 가장 일반적인 원인이며 tmux그다지 치명적이지는 않습니다. 왜냐하면 제가 한때 Stumbled across a 조잡한 스크립트에서 작업했기 때문입니다. 어딘가 - 죄송합니다. 기억 이 나지 않습니다. tty이로 인해 나중에 다른 문제가 발생하고 중단으로 인해 서버가 여전히 열려 있는 경우에만 작동합니다. tmux닫은.)ttytmuxtty

관련 정보