`
yutiansky
  • 浏览: 197538 次
  • 性别: Icon_minigender_1
  • 来自: 本溪
社区版块
存档分类
最新评论

创建进程并且等待进程结束

 
阅读更多

Processクラスを利用し、プロセスを作成、実行結果を取得する。

ポイント1、WaitForExit() サブプロセス実行完了まで、親プロセスを止まらせる。

ポイント2、ExitCodeプロパティより、サブプロセスの実行結果を取得。

ポイント3、戻り値を付けられる Main で戻り値を返す。

 

using System;
using System.Collections.Generic;
using System.Text;
using System.Diagnostics;

namespace RmsUpdate
{

    class RmsUpdate
    {
        static int Main(string[] args)
        {
            string strBatPath = "setup.bat";
            Process pro = new Process();
            int exitCode = 0;
            try
            {
                pro.StartInfo.UseShellExecute = true;
                pro.StartInfo.FileName = strBatPath;
                pro.StartInfo.CreateNoWindow = true;
                pro.Start();
                pro.WaitForExit();
                exitCode = pro.ExitCode;
            }
            catch (Exception)
            {
                exitCode = 1;
            }
            finally
            {
                if (pro != null)
                {
                    pro.Close();
                    pro.Dispose();
                }
            }
            return exitCode;
        }
    }

}
 
分享到:
评论

相关推荐

    创建进程和销毁进程

    在上述示例中,我们使用了`WaitForSingleObject`函数等待记事本进程结束,然后通过`CloseHandle`关闭进程和线程的句柄。这是进程销毁的一种方式。通常,当进程执行完毕或者用户手动关闭了记事本,进程就会自然结束。...

    vc 创建和结束进程实例

    注意,`WaitForSingleObject`函数用于等待进程结束,防止主程序过早退出导致进程无法完全执行。 在实际开发中,你可能需要根据需求调整`CreateProcess`函数的参数,例如,如果需要在后台启动进程而不显示窗口,可以...

    易语言创建新进程

    例如,等待进程结束、发送消息等。 4. **错误处理**:在创建过程中可能会出现各种错误,如找不到可执行文件、权限不足等。因此,正确的错误处理机制是必不可少的。 三、易语言创建新进程的源码示例 以下是一个简单...

    Delphi XE10 调用外部程序并等待其运行结束_调用外部程序等待运行结束_

    3. **线程同步**:在多线程环境下,确保主程序等待子进程结束是非常关键的。`WaitForSingleObject`实现了这一功能,防止主程序过早继续执行,导致数据不一致或资源泄露。 4. **进程与线程**:在调用外部程序时,新...

    nsis进程运行检测和结束进程插件

    在开发安装脚本时,有时我们需要检测某个进程是否在运行,或者在安装开始前结束特定进程,以确保安装过程的顺利进行。"nsis进程运行检测和结束进程插件"就是针对这类需求而设计的。 这个插件提供了在NSIS脚本中检查...

    java创建进程,及根据命令行、pid删除进程

    然后,我们读取并打印出进程的输出,等待进程结束,并获取它的退出码。 接下来,我们讨论如何删除进程。在Java中,直接删除进程并不像创建那样简单,因为Java的标准库并不提供直接的API来终止或杀死进程。通常,...

    进程、管道创建

    创建进程后,可以使用`WaitForSingleObject`或`WaitForMultipleObjects`来等待进程结束,或者使用`GetExitCodeProcess`获取进程的退出状态。 接下来,我们关注**管道(Pipe)**。管道是一种用于不同进程间通信的数据...

    进程状态转换,包括创建进程...

    例如,在Unix/Linux系统中,`os`模块提供了与进程相关的API,如`os.fork()`用于创建子进程,`os.wait()`用于等待子进程结束并获取其状态信息。了解和掌握这些概念对于理解和编写多线程、多进程的程序至关重要。 ...

    易语言源码创建新进程.rar

    - 易语言的命令语法:易语言的命令大多以中文命名,例如“创建进程”、“结束进程”等,易于理解和记忆。 - 数据类型:易语言有基础的数据类型,如整数、小数、字符串、布尔值等。 2. **创建新进程的原理**: - ...

    创建和终止进程

    // 等待进程结束 WaitForSingleObject(pi.hProcess, INFINITE); // 释放资源 CloseHandle(pi.hProcess); CloseHandle(pi.hThread); ``` 终止进程通常通过`TerminateProcess`函数实现,它接受进程句柄和退出码作为...

    操作系统实验进程的创建源代码及文档

    进程创建成功后,你可以通过进程ID和句柄进行后续操作,例如等待进程结束(`WaitForSingleObject`)、获取进程退出码(`GetExitCodeProcess`)等。此外,为了确保资源的有效管理,别忘了在适当的时候关闭不再使用的...

    Linux等待进程结束实例代码.pdf

    本篇将详细讲解Linux下等待进程结束的实例代码,以及相关的知识点。 代码示例来自《ARM 嵌入式 Linux 系统开发详解(第 2 版)》,由弓雷等编著,清华大学出版社出版。这个例子中,主要用到了`fork()`函数来创建子...

    进程管理实验创建进程获得退出代码

    在Unix/Linux系统中,可以使用`wait()`或`waitpid()`函数等待子进程结束并获取其退出代码;在Windows中,可以使用`WaitForSingleObject()`和`GetExitCodeProcess()`函数完成相同任务。退出代码通常是一个整数值,由...

    父进程创建子进程

    7. **进程状态与调度**:理解进程的生命周期,如新建、就绪、运行、等待和结束等状态,以及调度算法对进程的影响。 8. **错误处理**:在创建子进程、通信或执行其他操作时,可能出现各种错误,如权限不足、内存不足...

    操作系统进程创建父子进程实验报告.pdf

    我们创建了一个消息队列,并让子进程发送消息,父进程等待子进程结束后接收消息。实验结果表明,父进程可以接收子进程发送的消息。 知识点 * 消息缓冲通信:可以使用 msgget()、msgsnd() 和 msgrcv() 系统调用来...

    易语言创建新进程.rar

    总结,易语言创建新进程涉及的核心知识点包括理解进程与线程的概念、使用“创建进程”命令、传递参数、等待进程结束、使用进程句柄以及错误处理。熟练掌握这些知识点,将使你在编写易语言程序时能够更自如地控制和...

    易语言-易语言等待进程结束 非时钟 不占CPU

    利用WaitForSingleObject等待句柄失效。 用精易模块的 进程_打开1(进程Id)可以得到进程句柄。 然后调用 WaitForSingleObject(进程句柄,等待时间) 等待时间 如果是-1就是无限等待。

    P04:UNIX V6++中新进程的创建与父子进程同步1

    在代码3中,父进程等待子进程结束,然后打印出子进程的PID和退出状态。修改`exit(0)`为`exit(1)`,将改变子进程的退出状态,从而影响父进程的输出。 实验报告要求学生理解这些系统调用的原理,并能根据程序输出分析...

    操作系统实验,进程控制

    操作系统实验,压缩包中包括Linux和windows进程控制源代码及实验报告。 进程控制实验题目: ...• 使用wait()等待新创建的进程结束 • 调用gettimeofday()来获取时间 mytime的用法: $ mytime.exe program1

    定时结束进程

    通过这个内置的组件,用户可以创建自定义的任务,包括在特定时间结束特定的进程。 2. **创建任务**: - 打开任务计划程序:可以通过搜索栏输入“任务计划程序”或在“控制面板”->“管理工具”中找到。 - 创建新...

Global site tag (gtag.js) - Google Analytics