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