내 webapp에서는 아래 작업을 수행합니다. 나는 1) 텍스트 파일에 2) su www-data 3) 복사/붙여 넣기 문자열을 붙여 start_sz을 덤프 시도했기 때문에 그 정확한지 알고 그것은 효과가있다.모노 프로세스. bash를 찾는 방법을 시작 하시겠습니까?
var start_sz = string.Format(@"bash -c 'ln ""{2}/{0}"" ""{2}/{1}""'", fn, newfn, System.IO.Directory.GetCurrentDirectory());
Process.Start(start_sz);
위의 추론에서 예외가 발생하므로 위의 bash를 찾을 수 없다고 생각합니다. 0
시스템에서 :
는는 System.Diagnostics.Process.Start_shell (System.Diagnostics.ProcessStartInfo startInfo, System.Diagnostics.Process가 공정)은 0x00000]에서에서 지정된 파일
를 찾을 수 없습니다 .Diagnostics.Process.Start_common (System.Diagnostics.ProcessStartInfo startInfo, System.Diagnostics.Process가 프로세스)은 0x00000]에서 0 System.Diagnostics.Process.Start (System.Diagnostics.ProcessStartInfo startInfo)에서
[은 0x00000] 0
System.Diagnostics.Process.Start (fileName에 선택 System.String)에서[은 0x00000]에서 0 MySite.QueueManager.MakeLink (선택 System.String의 FN)은 0x00000]시
: 0
에서 MySite.QueueManager.ImageQueue2 ([은 0x00000]에) : MySite.QueueManager.ImageQueue에서 0
([은 0x00000]에) : 그래서
, 나는이 문제를 어떻게 해결합니까 0? 기본적으로 내 asp.net 응용 프로그램에서 런타임에 하드 링크 (소프트도 괜찮습니다)를 만들 필요가 있습니다.
어쩌면 나는 완전한 bash 경로가 필요하다고 생각 했으므로 /bin/bash -c
을 시도했지만 그 중 하나도 작동하지 않았습니다.
@ acidzombie24 : 다행히 도왔습니다! :) – abatishchev
아아 # $ %^& * (! 나는 (문자열, 문자열)로 Process.Start를 호출해야했습니다.args가 파일 이름의 일부로 생각하여 파일을 찾을 수 없습니다. 왜 process.start를 사용하면 (name, "") 사용하지 않아도됩니다. 오류 발생이 훨씬 적습니다. –
@ acidzombie24 :'Process.Start (문자열)'은'새로운 ProcessStartInfo (문자열)'과'Process.Start (문자열, 문자열)'-'새로운 ProcessStartInfo (문자열, 문자열)'을 생성합니다. 'ProcessStartInfo' 생성자들을보세요 : 하나는'arguments'를 설정하고, 다른 것은 - 아닙니다. 그래서 이것은 구문 - 설탕 과부하 일뿐입니다. – abatishchev