Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
linux中使用pipe命令的C#Mono启动进程_C#_Mono - Fatal编程技术网

linux中使用pipe命令的C#Mono启动进程

linux中使用pipe命令的C#Mono启动进程,c#,mono,C#,Mono,在windows中,通过cmd.exe发送管道非常容易,我只需编写 .FileName=“cmd.exe”和 .Arguments=“d:\ifme\addons\ffmpeg\ffmpeg-id:\Videos\sata.mp4-pix\u fmt yuv420p-f yuv4mpegpipe-2>nul | d:\ifme\addons\x265\x265lo-p介质--crf 28-f 523-od:\ifme\temp\video.hevc--抖动--y4m-” 但在Linux(Ubun

在windows中,通过cmd.exe发送管道非常容易,我只需编写

.FileName=“cmd.exe”

.Arguments=“d:\ifme\addons\ffmpeg\ffmpeg-id:\Videos\sata.mp4-pix\u fmt yuv420p-f yuv4mpegpipe-2>nul | d:\ifme\addons\x265\x265lo-p介质--crf 28-f 523-od:\ifme\temp\video.hevc--抖动--y4m-”

但在Linux(Ubuntu 14.04.1)中,我写道:

.FileName=“/bin/bash”

.Arguments=“-c/home/anime4000/Desktop/ifme/addons/ffmpeg/ffmpeg-i/home/anime4000/Videos/sata.mp4-pix_fmt yuv420p-f yuv4mpegpipe-2>/dev/null |/home/anime4000/Desktop/ifme/addons/x265/x265lo-p medium-crf 28-f523-o/home/anime4000/Desktop/ifme/temp/video.hevc-抖动-y4m-”

我得到了
FFmpeg
错误,没有指定命令

我使用创建文件方法:

System.IO.File.writealText(“cmd.sh”,“/home/anime4000/Desktop/ifme/addons/ffmpeg/ffmpeg-i/home/anime4000/Videos/sata.mp4-pix_fmt yuv420p-f yuv4mpegpipe-2>/dev/null |/home/anime4000/Desktop/ifme/addons/x265/x265lo-p medium-crf 28-f 523-o/home/anime4000/Desktop/ifme/temp/video.hevc-dither-y4m-”

.FileName=“sh”

.Arguments=“cmd.sh”

我得到一个错误,即
x265lo
文件不存在,但该文件具有执行权限

那么,如何使用C#Mono获得正确的管道命令呢

注意:
x265lo
是一个8位BPP构建,
x265hi
是一个16位BPP构建,因为包含两个具有不同BPP的x265

(很抱歉,这应该是一个注释,但我在这里没有足够的声誉。)

我不知道具体出了什么问题,但您应该能够通过执行以下操作来确定Mono如何调用shell:

strace -fv -s4096 -e trace=execve /path/to/your/program args-to-your-program
完成此操作后,请使用相关的
execve()
行更新您的问题