0

私のコードは現在次のようになっています。

// spawn threads
let handle_1 = tokio::spawn(...);
let handle_2 = tokio::spawn(...);
// this thread later starts a rocket.rs server
let handle_3 = tokio::spawn(...);

// handle ctrl+c
let h_signal = tokio::spawn(async move {
    match signal::ctrl_c().await {
        Ok(()) => {
            // shutdown
            ...
        }
        Err(_) => {
            // shutdown
            ...
        }
    }

    // save data
    ...

});
let _ = tokio::join!(handle_1, handle_1, handle_1, h_signal);

このコードは Windows と Linux で完全に動作しますが、ssh で接続している VPS で実行すると、このコードが突然動作しなくなります。動作を停止するとは、次のことを意味します。

  1. Rocket.rs サーバーが起動しない
  2. ctrl+c を押すと、シャットダウンコードが呼び出されずにプログラムが終了します

なぜこれが起こるのか、誰にもアイデアがありますか?

4

0 に答える 0