私は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
。ため息)。それで、すべてのものがこのサーバーと一緒に消えます。 (私はサーバーとすべてのクライアントがそれを持っていて、それらのうちの1つが死んでいても本当に悪いことは起こらないことを願っていますtmux
)。tty
tmux
そしてtmux
サーバーが頻繁にクラッシュします。tmux
1,000台の仮想マシンで実行する場合、1年に1回は1日3回を意味します。衝突の確率が10^-20(「衝突の可能性が高い」)と同じくらい低い場合でも、tmux
今日のすべてのコンピュータは少なくとも1秒あたり10^10のコマンドを実行するため、競合が頻繁に発生することを意味します。これはおおよそ今日を意味します。 、飛行機の墜落事故は350年ごとに起こります。
計算単位が1,000億個で、衝突当たりの作業損失が5ドルであるというおおよその見積もりにもかかわらず、これは依然としてtmux
不安定な設計による純損失が1日100万ドルをはるかに超える可能性があることを意味します。
すみません。数学だけをやります。 (「衝突」には、すべてのセッションにアクセスできないようにする「停止」またはその他の可能性が含まれますが、停止は問題の最も一般的な原因であり、それほどtmux
致命的ではありませtmux
ん。です。どこか - 申し訳ありませんtty
。tmux
tty
tmux
tty