Sambaによる外部ファイルの削除に対するLinuxファイルシステムの応答

Sambaによる外部ファイルの削除に対するLinuxファイルシステムの応答

SAMBAのファイルを更新する方法/タイミングについて質問があります。

私は同様のことをしています:

me@server:~/test/application

me@server:~/test/application$ dotnet myapp.dll

Application prints hello world

フォルダを削除し、新しいアプリケーションと同じ場所に同じフォルダを挿入するために(接続を介して移動)をapplication使用しています。WindowsSAMBA

/test/application/それでは、同じパスに残っているLinuxターミナル(SSH経由で接続)に戻って、次のようにしたいと思います。

dotnet myapp.dll

結果:

System.IO.FileNotFoundException: Unable to find the specified file.
   at Interop.Sys.GetCwdHelper(Byte* ptr, Int32 bufferSize)
   at Interop.Sys.GetCwd()
   at System.Environment.get_CurrentDirectory()
   at System.IO.Directory.GetCurrentDirectory()
   at Microsoft.DotNet.Cli.Utils.CommandResolver.TryResolveCommandSpec(ICommandResolverPolicy commandResolverPolicy, String commandName, IEnumerable`1 args, NuGetFramework framework, String configuration, String outputPath, String applicationName)
   at Microsoft.DotNet.Cli.Utils.Command.Create(ICommandResolverPolicy commandResolverPolicy, String commandName, IEnumerable`1 args, NuGetFramework framework, String configuration, String outputPath, String applicationName)
   at Microsoft.DotNet.Cli.Utils.Command.Create(String commandName, IEnumerable`1 args, NuGetFramework framework, String configuration, String outputPath, String applicationName)
   at Microsoft.DotNet.Cli.Program.ProcessArgs(String[] args, ITelemetry telemetryClient)
   at Microsoft.DotNet.Cli.Program.Main(String[] args)

応募書に問題があるようですが、

リストファイルを使用すると、ls何も表示されません。フォルダが空のようなものです。

しかし、仕事を終えた後、cd ..すべてがcd applicationうまくいきます。 (lsは私のファイルをリストし、アプリケーションはうまく動作します。)

基本的に「フォルダの更新」が必要ですが、なぜですか?

友人は、「以前のディスクInodeがロードされた古いフォルダセッション」のようなものがあると言いました。

答え1

LinuxまたはUnixでは、プロセスによってまだ開いているファイルまたはディレクトリを削除できます。

あなたの場合、シェルはまだ開いている/test/applicationディレクトリが現在のディレクトリにあります。

application Sambaを使用すると、親ディレクトリ内のすべてのファイルとディレクトリエントリが削除されます/test。ディレクトリのinodeはまだシェルで使用されており、シェルはこの現在のディレクトリを子プロセス(たとえば)に渡しますlsls以前のカタログファイルからファイルを削除したため、ファイルが正しく一覧表示されません/test/application

cd applicationinを使用すると、/test新しく作成された 。/testapplication/test/application

また、見ることができますhttps://stackoverflow.com/q/2028874/10622916

関連情報