シリアルポートを使用したプロセスの検索と終了

シリアルポートを使用したプロセスの検索と終了

複数のシリアルポートがあり、デバイスが各ポートに接続されています。スクリプトを実行する前に、pythonスクリプトを使用して他のプロセスがそれを使用していない(アクセスが拒否されないように)/dev/ttyUSB*確認する必要があります。試して注文してみてください。次の出力を提供します。kermitlogin_initpslsoflsof

sof: WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/1000/gvfs
  Output information may be incomplete.
COMMAND     PID        USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
login_ini 13395       user4    4u   CHR  188,9      0t0  512 /dev/ttyUSB9
python    14410       user4    6u   CHR  188,9      0t0  512 /dev/ttyUSB9

pidプロセスのsを取得しましたが、コマンドを実行すると、killall次のようにプロセスが見つからないというメッセージが表示されます。

user4@user-pc-4:~/Scripts$ killall -9 13395
13395: no process found

user4@user-pc-4:~/Scripts$ killall -9 14410
13395: no process found

これが正しい唯一の方法ですか、それとも良い方法がありますか?

ベストアンサー1

killall引数としてプログラム名の部分文字列が必要です。プロセスIDでプロセスを終了するにはkill

このコマンドを使用すると、開いているファイルを含むすべてのプロセスを直接終了できますfuser

fuser -k /dev/ttyUSB9

おすすめ記事