web-dev-qa-db-ja.com

コマンドmvがメッセージmvを返すのはなぜですか:Linuxでデバイスまたはリソースをビジー状態に移動できませんか?

あるディレクトリから別のディレクトリにファイルを移動しようとしましたが、ファイルは移動されましたが、次のメッセージが表示されました。なぜ「エラー」を表示するのですか?それはどういう意味ですか?いつ発生しますか?ディレクトリは同じデバイスとパーティションにあります。デバイスはUbuntu12.04LTSで動作します

エラー

*mv: cannot move `.' to `../new_media/press/.': Device or resource busy*
3
PeanutsMonkey

rename(2)のマニュアルページから:

   EBUSY  The  rename fails because oldpath or newpath is a directory that
          is in use by some process (perhaps as current working directory,
          or  as root directory, or because it was open for reading) or is
          in use by the system (for example as  mount  point),  while  the
          system considers this an error.  (Note that there is no require‐
          ment to return EBUSY in such cases — there is nothing wrong with
          doing  the  rename anyway — but it is allowed to return EBUSY if
          the system cannot otherwise handle such situations.)

一部のプロセスがファイルを使用しています。コマンド「lsof」(開いているファイルのリスト)を使用して、どのプロセスによってどのファイルが開いているかを確認できます。これにより、開いているファイルのlotが返されます。プロセスを見つけたら、それを殺してみることができます。

または、それがオプションである場合は、コンピューターの再起動が簡単な場合があります。

2
askvictor