この記事では、
ファイルをrmで消そうとした場合のエラーである、
Device or resource busy
の原因と対処法についてご説明します。
mountやmvなどを用いるのではなく、
この記事に沿った手順を踏めばすぐに解決しますので、
じっくりと読んでみて下さい!
このブログでは、
pythonをはじめとしたプログラミングの知識について、
どこよりもわかりやすく解説しています。
ぜひ、他の記事もご覧になってみて下さい。
Contents
Device or resource busyが原因でrm削除できない!!解決法はmountやmvではなく、〇〇だ!!
Device or resource busyが原因でrm削除できない!!
ファイルを消すコマンドは、ご存知の通り「rm」です。
特に問題がなければ、このコマンドでファイルをスムーズに消せるはずです。
しかし、ある特定の場合にはエラーが出てしまいます。
ここでは、
消したくても消せないファイルの名前を「cannot_remove」として、
実際の消し方をご紹介していきます。
まず、ファイルを消そうとして、
$ rm ./cannot_remove
と入力してみます。
普通であればすぐに消せるはずなのですが、
rm: cannot remove ‘./cannot_remove’: Device or resource busy
というエラーメッセージが出て消せない場合があります。
エラーメッセージをよく見てみましょう。
Device or resource busyと言われましたね。
これは、消したいファイルが別の操作で使われているために生じるエラーです。
例えば、
異常に重いファイルをcatなどで表示しようとして長時間かかり、
こじらせたときなどに発生します。
わかりやすく言うと、壊したいものが別の人に借りられてしまっている状態です。
したがって、
これを解決するには、まず誰がこのファイルを借りているのか調べる必要があります。
それには、
$ fuser ./cannot_remove
と実行します。
fuser は、あるファイルを使用中のプロセス番号(PID)を表示するコマンドです。
実行結果は、cannot_removeまでのパスをpathと表すと、
/path/cannot_remove: 15243
の形式で返ってきます。
この後ろの番号がプロセス番号です。
したがって、
プロセス番号(PID)15243 番が犯人だとわかります。
というわけで、このプロセス番号(PID)15243 番さんをなきものにすれば、
エラーの原因を取り除くことができます。
解決法はmountやmvではなく、〇〇だ!!
さて、上記の調査により、
プロセス番号(PID)15243 番さんをなきものにすれば、
エラーの原因を取り除くことができるとわかりました。
そのためには、プロセスの強制終了をするコマンドである、
kill
を使えばいいですね。
killにはいろいろなオプションがあります。
ここではプロセスを強制的にkillするために、「-9」をつけてください。
$ kill -9 15243
これで、消したかったファイルを別の人(15243さん)から取り戻すことができました。
さて、もう一度rmで消してみましょう。
$ rm ./cannot_remove
rm: cannot remove ‘./cannot_remove’: No such file or directory
このようなエラーが出る場合もありますが、確認してみると
$ du
4 .
として、きれいさっぱり消せたことが確認できます。
あなたにおすすめの記事
パリの美術館が10万作品を無料で公開して話題になりました。
しかし、肝心のサイトがフランス語で書かれており、
ダウンロード方法がわかりにくい状況です。
そこで、画像を使って非常に丁寧にダウンロード方法をまとめました。
「わかりやすい」との反響もたくさんいただいたので、ぜひチェックしてみてください。
本ブログでは、
外国語を勉強するコツや、
英語、中国語の重要な豆知識
をわかりやすくお伝えしています。
英語は、勉強するコツさえ知ってしまえばグングン成績が上がります。
TOEFL100点をとった勉強法はこちら↓
中国語を学ぶメリットに関してはこちら↓
コメント