- Home /
Question by
edmiester777 · Jan 15, 2014 at 01:18 AM ·
linuxprocess
Unable To Start Commandline Process on linux
I have a process started to begin the decompiling process of a jar file. This means I must start an external process on the users computer. On windows, this simply uses a .cmd file and launches it in the command prompt (without shell or a window), but on linux, I cannot get the process to launch. Here is my code:
public class ProcessHelper {
public delegate void OutputHandler(string text);
public static void ForgeInstall(OutputHandler handler){
handler("Checking Previous Installation...");
if(Directory.Exists(DirectoryHelper.getMCPDirectoryPath()))Directory.Delete(DirectoryHelper.getMCPDirectoryPath(), true);
handler("Determing OS, Binding Process, and Running Process...");
if(ProcessHelper.shouldExecuteWindowsCommand()){
TextFileHelper.replaceStringInFile(DirectoryHelper.getForgeDirectoryPath() + "/install.cmd", "pause", "");
ProcessHelper.Execute("cd \"" + DirectoryHelper.getForgeDirectoryPath() + "\" && install.cmd");
}
else ProcessHelper.Execute("cd '" + DirectoryHelper.getForgeDirectoryPath() + "' && python fml/install.py");
}
public static void Execute(string cmd){
// determing os
Process p = new Process();
if(Application.platform == RuntimePlatform.WindowsPlayer || Application.platform == RuntimePlatform.WindowsEditor){
// windows platform
p.StartInfo.FileName = "cmd";
p.StartInfo.Arguments = "/K \"" + cmd + "\"";
p.StartInfo.CreateNoWindow = true;
p.StartInfo.UseShellExecute = false;
}
else if(Application.platform == RuntimePlatform.LinuxPlayer || Application.platform == RuntimePlatform.OSXPlayer){
// linux command based os
p.StartInfo.FileName = "bash";
p.StartInfo.Arguments = "-c " + cmd + "";
p.StartInfo.UseShellExecute = false;
}
else UnityEngine.Debug.Log("Unknown OS");
p.Start();
p.WaitForExit();
}
public static bool shouldExecuteWindowsCommand(){
return (Application.platform == RuntimePlatform.WindowsPlayer || Application.platform == RuntimePlatform.WindowsEditor);
}
}
Comment
Your answer
Follow this Question
Related Questions
Live Signal to Running Linux App? 0 Answers
How can I run it on Linux? 4 Answers
Would it be possible to build Unity projects from Linux? 1 Answer
Unity in linux plans after the announcement of SteamOS? 2 Answers
What does the headless build option do? 3 Answers