netcore中執行linux命令


可以通過System.Diagnostics.Process類來實現。具體的代碼如下:

    public class RunCommand
    {
        public RunCommand(string fileName, string arguments, string workingDirectory = "")
        {
            FileName = fileName;
            Arguments = arguments;
            WorkingDirectory = workingDirectory;
        }
        public string FileName { get; set; }
        public string Arguments { get; set; }
        public string WorkingDirectory { get; set; }

        public string Execute(int milliseconds = 10000)
        {
            var rValue = "";
            using (System.Diagnostics.Process p = new System.Diagnostics.Process())
            {
                p.StartInfo.FileName = FileName;
                p.StartInfo.Arguments = Arguments;
                p.StartInfo.UseShellExecute = false;
                p.StartInfo.RedirectStandardOutput = true;
                p.StartInfo.WorkingDirectory = WorkingDirectory;
                p.Start();
                p.WaitForExit(milliseconds);
                rValue = p.StandardOutput.ReadToEnd();
            }
            return rValue;
        }
    }
View Code

 

調用代碼如下:

1.給設備加權限。

                var arg = "chmod 777 001";
                new RunCommand("sudo", arg, "/dev/bus/usb/001").Execute();

2.列出所有usb設備信息。

            var result = new RunCommand("lsusb", "").Execute();
            Console.WriteLine(result);


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM