winform或者wpf,想同时实现 只能启动一个进程 和 重启功能,该如何实现?

启动时做了进程检测,又在主窗口closing(或closed)事件里写了重新启动程序
--System.Diagnostics.Process.Start(System.Reflection.Assembly.GetExecutingAssembly().Location);
发现重启时也避免不了会触发进程已经运行的检测。
该如何同时实现这两个功能?
提供思路即可

不要进程检测,用互斥量就可以。
http://blog.csdn.net/xwdpepsi/article/details/6614248