check point
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
using System.Diagnostics;
|
||||
|
||||
namespace Hawkeye.VisionBuilder.Workflow.DataTransfer;
|
||||
|
||||
public class PythonScriptRunner
|
||||
{
|
||||
private Process process;
|
||||
private readonly string _pythonPath;
|
||||
private string scriptPath;
|
||||
private readonly string _workingDirectory;
|
||||
|
||||
public PythonScriptRunner(string pythonPath, string scriptPath,string workingDirectory)
|
||||
{
|
||||
_pythonPath = pythonPath;
|
||||
this.scriptPath = scriptPath;
|
||||
_workingDirectory = workingDirectory;
|
||||
}
|
||||
|
||||
public void Start()
|
||||
{
|
||||
ProcessStartInfo startInfo = new ProcessStartInfo();
|
||||
|
||||
|
||||
startInfo.FileName = _pythonPath; // set the path to the Python executable if not in PATH
|
||||
startInfo.Arguments = "\""+scriptPath+ "\"";
|
||||
startInfo.WorkingDirectory = _workingDirectory;
|
||||
|
||||
// enable running in the background
|
||||
startInfo.UseShellExecute = false;
|
||||
//startInfo.CreateNoWindow = true;
|
||||
// create and start the process
|
||||
process = new Process();
|
||||
|
||||
|
||||
process.StartInfo = startInfo;
|
||||
process.Start();
|
||||
// on windows only
|
||||
if(Environment.OSVersion.Platform == PlatformID.Win32NT)
|
||||
ChildProcessTracker.AddProcess(process);
|
||||
|
||||
|
||||
}
|
||||
|
||||
public void Stop()
|
||||
{
|
||||
if (process != null && !process.HasExited)
|
||||
{
|
||||
process.Kill();
|
||||
process.Dispose();
|
||||
process = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user