web-dev-qa-db-ja.com

オープンセッションなしでバックグラウンドでpicocomを実行する

Picocomで、リモートコンピューターへのsshセッションを維持せずに、リモートコンピューターにシリアルデータを記録したいと思います。

私が試してみました:


picocom <my options>

ログアウトすると死にます。


picocom <my options> & 

ターミナルに出力がなく、picocomC-a C-xで終了すると、ジョブは停止したままになり、強制終了されません(kill -9、単純なkillをオンにする必要があります)ジョブが機能しません。次に、/var/lock/のttyロックを手動でクリーンアップする必要があります。


picocom <my options> > tmp/data.log&

次に、別のsshセッションで:

tail -f tmp/data.log

ファイルdata.logにデータが出力されませんでした。


bash -c "picocom --baud 115200 /dev/ttyACM1 > /home/pi/tmp/data.log" &

ファイルへの出力もありません。ジョブはすぐに「停止」になります。


Nohup sh -c "picocom --baud 115200 /dev/ttyACM1 > /home/pi/tmp/data.log" &

テールファイルにpicocomの開始出力がありますが、ジョブは終了します。


知っておきたいこと:picocomC-zに反応しません。

私の質問は次のとおりです。

  • バックグラウンドでpicocomを実行することは可能ですか?
  • 開いているセッションなしでシリアル端末をログに記録するための代替手段はありますか?
1
Gauthier

別の方法は デバイスをセットアップするsttyで、次に catで読む

stty <my options>
Nohup sh -c "cat /dev/ttyACM0 > data.log" &
1
Gauthier

ユーザーセッションが意図されていると仮定すると、screen-Xオプションとともに使用して、実行中の画面セッションにコマンドを送信し、stuffコマンドを使用して現在の画面セッションにキーストロークを送信できる場合があります。窓。

screen -dmS newScreen bash
screen -S newScreen -X stuff "picocom <options>\n"
screen -ls
screen -r <pid>

コマンドを実行するために、引用符と次の行を囲むように注意してください。 *

... bash -cまたはtmuxも可能かどうかはチェックしていません。

0
U880D