1. 程式人生 > >總結一個主進程啟動子進程,刪除主進程文件和目錄的問題

總結一個主進程啟動子進程,刪除主進程文件和目錄的問題

發現 col spa exe tor 總結 directory 最簡 installer

首先,我們啟動子進程的時候,要修改子進程的工作目錄。

      ProcessStartInfo pi = new ProcessStartInfo(fileName, arguments)
      {
        WorkingDirectory = Path.GetTempPath()
      };
      pp.StartInfo = pi;
      pp.Start();

這裏我把工作目錄隨便指定了一個地方,目的是防止子進程默認繼承了主進程的工作目錄。如果你省了這一個地方,只要子進程開著,那它的工作目錄就和主進程的工作目錄是一樣的,結局就是子進程刪除主進程的工作目錄,其實是被子進程自己占用著的,就算主線程關閉了也是如此。

比如,你想做最簡單的installer.exe更新,可能就是主線程下載,主線程啟動installer.exe執行靜默安裝(更新),然後發現bong,出問題了。

總結一個主進程啟動子進程,刪除主進程文件和目錄的問題