/// <summary>
/// 杀死进程
/// </summary>
private void KillProcesses()
{
var cfn = GetAppsettingStr("checkin-filefolder-name");
var ofn = GetAppsettingStr("outmoney-filefolder-name");
var ifn = GetAppsettingStr("inmoney-filefolder-name");
foreach (var p in Process.GetProcesses())
{
if (p.ProcessName == cfn || p.ProcessName == ofn || p.ProcessName == ifn)
{
p.Kill();
}
}
} /// <summary>
/// 启动进程
/// </summary>
private void StartProcesses()
{
var list = new List<string>();
var cfn = GetAppsettingStr("checkin-filefolder") + GetAppsettingStr("checkin-filefolder-name");
var ofn = GetAppsettingStr("outmoney-filefolder") + GetAppsettingStr("outmoney-filefolder-name");
var ifn = GetAppsettingStr("inmoney-filefolder") + GetAppsettingStr("inmoney-filefolder-name");
list.Add(ofn);
list.Add(ifn);
list.Add(cfn); foreach (var li in list)
{
Process.Start(li + ".exe");
}
}

再加上从app.config 文件里获取数据

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
<section name="StartUpgrade.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</sectionGroup>
</configSections>
<appSettings>
<!-- checkin 文件夹和文件名 -->
<add key="checkin-filefolder" value="D:\NotePad++\"/>
<add key="checkin-filefolder-name" value="npp.6.1.3.Installer"/> <!-- 出钞 文件夹和文件名 -->
<add key="outmoney-filefolder" value="D:\NotePad++\"/>
<add key="outmoney-filefolder-name" value="npp.6.1.3.Installer"/> <!-- 入钞 文件夹和文件名 -->
<add key="inmoney-filefolder" value="D:\NotePad++\"/>
<add key="inmoney-filefolder-name" value="npp.6.1.3.Installer"/> <!-- 字节数组 -->
<add key="bytearrary" value="10240"/>
<add key="upload-path" value="E:\Projects\Hotels\StartUpgrade\StartUpgrade\File\"/>
<add key="upload-url" value="http://192.168.1.200:8077/UpgradeFiles/"/> <!-- 机器id -->
<add key="machineid" value="888"/>
</appSettings>
<system.serviceModel>
<bindings />
<client />
</system.serviceModel>
<applicationSettings>
<StartUpgrade.Properties.Settings>
<setting name="StartUpgrade_IStartUpgrade_UpgradeFile" serializeAs="String">
<value>http://192.168.1.155:8013/DataService/WebService/Interface/UpgradeFile.asmx</value>
</setting>
</StartUpgrade.Properties.Settings>
</applicationSettings> </configuration>

是这样获取app.config数据的:

        /// <summary>
/// 获取配置文件里appsettings的数据
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public string GetAppsettingStr(string str)
{
var appReader = new AppSettingsReader();
return appReader.GetValue(str, typeof(string)).ToString();
}

C# 启动进程和杀死进程的更多相关文章

  1. Linux如何查看进程、杀死进程、启动进程等常用命令

    Linux如何查看进程.杀死进程.启动进程等常用命令 关键字: linux 查进程.杀进程.起进程1.查进程    ps命令查找与进程相关的PID号:    ps a 显示现行终端机下的所有程序,包括 ...

  2. Window通过cmd查看端口占用、相应进程、杀死进程

       在windows下启动程序时候经常出现端口占用, 修改本程序端口是一种解决思路,但是更多时候希望直接杀掉占用端口的程序: 一. 查看所有进程占用的端口 在开始-运行-cmd,输入: netsta ...

  3. Window 通过cmd查看端口占用、相应进程、杀死进程等的命令【转】

    一. 查看所有进程占用的端口  在开始-运行-cmd,输入:netstat –ano可以查看所有进程 二.查看占用指定端口的程序  当你在用tomcat发布程序时,经常会遇到端口被占用的情况,我们想知 ...

  4. lsof根据端口返回进程号杀死进程的方法

    参考自:http://newmiracle.cn/?p=661 Linux shell根据端口返回进程号杀死进程的方法 kill -9 `lsof -t -i:8888` 这个就是杀死8888端口的进 ...

  5. 【转】Window 通过cmd查看端口占用、相应进程、杀死进程等的命令

    转自:http://blog.csdn.net/jiangwei0910410003/article/details/18967441 一. 查看所有进程占用的端口  在开始-运行-cmd,输入:ne ...

  6. linux shell根据端口返回进程号杀死进程的方法

    linux shell根据端口返回进程号杀死进程的方法<pre>kill `lsof -t -i:9501`</pre>这个就是杀死9501端口的进程号

  7. linux下查看当前进程以及杀死进程

    ###linux下查看当前进程以及杀死进程 查看进程 ps命令查找与进程相关的PID号: ps a :显示现行终端机下的所有程序,包括其他用户的程序. ps -A :显示所有程序. ps c :列出程 ...

  8. CentOS查看进程、杀死进程、启动进程等常用命令

    关键字: linux 查进程.杀进程.起进程 1.查进程     ps命令查找与进程相关的PID号:     ps a 显示现行终端机下的所有程序,包括其他用户的程序.     ps -A 显示所有程 ...

  9. Linux如何查看进程、杀死进程、启动进程

    1.查看进程:ps命令 下面的命令还没实践,仅仅供你参考:可以用man ps查看格式,只不过是一个小工具而已! ps a 显示现行终端机下的所有程序,包括其他用户的程序.    ps -A 显示所有程 ...

随机推荐

  1. lambda expand in list

    [(lambda x: x*x)(x) for x in range(10)] Or better yet: [x*x for x in range(10)]

  2. Hibernate - list()和iterate()的区别

    list()和iterate()都可以用来获得Query取得的HQL结果list()使用的是即时加载.查询时会之前去数据库查询HQL并将所有结果存在缓存中.iterate()使用的是延时加载.查询时只 ...

  3. fail-fast机制

    在JDK的Collection中我们时常会看到类似于这样的话: 例如,ArrayList: 注意,迭代器的快速失败行为无法得到保证,因为一般来说,不可能对是否出现不同步并发修改做出任何硬性保证.快速失 ...

  4. Leetcode 242. Valid Anagram(有效的变位词)

    Given two strings s and t, write a function to determine if t is an anagram of s. For example, s = & ...

  5. sql server 表变量、表类型、临时表

    sql server 中临时表分为会话临时表和永久临时表.会话临时表在会话结束后自动被删除,永久临时表与基本表的使用上基本无差异,需要显示调用drop将其删除. 创建临时表 创建会话临时表 creat ...

  6. JavaScript高级程序设计(第三版)学习笔记8、9、10章

    第8章,BOM BOM的核心对象是window,具有双重角色,既是js访问浏览器的一个接口,又是ECMAScript规定的Global对象.因此,在全局作用域中声明的函数.变量都会变成window对象 ...

  7. 月半小夜曲下的畅想--DOCTYPE模式

    月半小夜曲下的畅想--DOCTYPE模式 @(css3 box-sizing)[doctype声明|quirks模式|妙瞳] DOCTYPE文档类型标签,该标签是将特定的标准通用标记语言或者XML文档 ...

  8. ASP的高效率的分页算法.net,php同样可以参考

    一般习惯使用的有两种分页算法,一是传统的ADO分页,二是SELECT TOP分页算法.对于小型数据表,比如一两万的数据量的表,我倾向使用ADO算法,对于大型的数据表,则必须采用后者的算法了. 先来说说 ...

  9. 在XP系统下搭建maven环境出的问题 Unable to locate the Javac Compiler in: C:\Program Files\Java\jre6\..\lib\tools.jar

    Build errors for spider; org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute g ...

  10. 使用html5结构化元素

    显示的效果如上边这样,但是有没有发现内容的外侧没有边线(这个难道是因为浏览器不同吗?有待测试) html5中新增加的元素<header>可以明确的告诉浏览器此处是页头,<nav> ...