Question: I'm having a issue trying to write input to linux process. Here the code goes:

```
        System.Diagnostics.Process process = new System.Diagnostics.Process();
        process.StartInfo.WorkingDirectory = "'/home/"+user+"/pacotes/"+nome_pacote.Text+"-1.0/'";
        process.StartInfo.FileName="dh_make";
        process.StartInfo.Arguments="-n -s";
        process.StartInfo.UseShellExecute = false;
        process.StartInfo.RedirectStandardInput = true;
        process.Start();
        Thread.Sleep(3000);
        process.StandardInput.WriteLine();

```

And here goes the error:

> 
> System.IO.IOException: Write fault on path /home/vinholi/Ubuntu One/Uso do linux em flash drives/Programa gerador de .deb/GeradorDeb/GeradorDeb/bin/Debug/[Unknown]
>  at System.IO.FileStream.FlushBuffer (System.IO.Stream st) [0x00000] in :0
>  at System.IO.FileStream.FlushBuffer () [0x00000] in :0
>  at System.IO.FileStream.Dispose (Boolean disposing) [0x00000] in :0
> 
> 
>

Answer: 
As another response stated "One likely explanation for this error is that the process exited before you're attempting to write to it."

And that was the problem I had -- even after setting the WorkingDirectory as described in the other answer. And in your same situation: C#, Mono, Ubuntu.

Ultimately the solution in my case was to set the Arguments so that the process was not exiting, and was really trying to read input from the StandardInput.
The path you are trying to write too can't be written too.
" /home/vinholi/Ubuntu One/Uso do linux em flash drives/Programa gerador de .deb/GeradorDeb/GeradorDeb/bin/Debug/"

Looks like its a usb drive. Check the following:

1. Its not readonly.
2. Its not been mounted readonly.
3. The usb drive is not out of space.