nic-segawa
2017年7月19日 15時43分
お世話になっております。
マイクロSDカードやUSBメモリーをマウント・アンマウントして使用しております。
アンマウントする際に「Device or resource busy」でアンマウントできない場合があります。
マウントしているデバイスを使用しているプロセスがあることが原因だと考え、プロセスを終了してからアンマウントする処理を組み込もうとしています。
「fuser」もしくは「lsof」コマンドを用いてプロセスを特定しようとしているのですが、デフォルトのユーザーランドでは使用できないようです。
コンフィギュレーションの変更でこれらのコマンドは使用可能になるのでしょうか?
もしくはこれとは別の方法があるのでしょうか?
よろしくお願い致します。
コメント
nic-segawa
溝渕様
ご回答ありがとうございます。
標準のユーザーランドイメージでlsofとfuser共にインストールされていることを確認しました。
現在、以下のサイトからダウンロードできるQt用のユーザーランドイメージを使用しております。
http://armadillo.atmark-techno.com/howto/armadillo-440-qt-1
Qt用のユーザーランドイメージではlsofとfuser共にインストールされていないようです。
コンフィギュレーションの変更でインストールされると思うのですが、インストールする方法を教えて頂けないでしょうか?
よろしくお願い致します。
at_mizo
溝渕です。
> 現在、以下のサイトからダウンロードできるQt用のユーザーランドイメージを使用しております。
>
> http://armadillo.atmark-techno.com/howto/armadillo-440-qt-1
>
> Qt用のユーザーランドイメージではlsofとfuser共にインストールされていないようです。
> コンフィギュレーションの変更でインストールされると思うのですが、インストールする方法を教えて頂けないでしょうか?
コンフィギュレーションの変更ではインストールすることはできません。
このHowtoで利用しているAtmark-Distのバージョンが古く、busybox-1.20.2が
含まれていないためです。
Qt用のユーザーランドで、lsof等を使う方法はいくつか考えられます。
1. Debianのパッケージに含まれるコンパイル済みのバイナリを使う
2. Qt用のAtmark-Distにbusybox-1.20.2を移植してビルドする
3. 最新のAtmark-DistにQtを移植してビルドする
ライブラリ等の依存関係が問題いならなければ、"1."が最も簡単だと思います。
http://armadillo.atmark-techno.com/howto/use-debian-binary
lsofのバイナリパッケージは以下より取得できます。
https://packages.debian.org/wheezy/armel/lsof/download
nic-segawa
at_mizo
2017年7月20日 10時41分
溝渕です。
> 「fuser」もしくは「lsof」コマンドを用いてプロセスを特定しようとしているのですが、デフォルトのユーザーランドでは使用できないようです。
> コンフィギュレーションの変更でこれらのコマンドは使用可能になるのでしょうか?
上記コマンドは共に、以下から取得できる標準ユーザーランドイメージにインストールされています。
http://armadillo.atmark-techno.com/armadillo-410/downloads
インストールパスは次の通りです。
/usr/bin/lsof
/usr/bin/fuser