Cygwin 오류 : "-bash : 포크 : 재시도 : 리소스를 일시적으로 사용할 수 없음"
최근에 내가 놓친 여러 명령 줄 요소에 액세스하기 위해 내 컴퓨터에 Cygwin을 다시 설치했습니다. Cygwin에서 이전에 어려움을 겪은 적이 없었지만이 재설치 후에는 (거의) 각 명령이 입력 된 후에 오류 메시지가 계속 나타납니다. 예를 들면 :
-bash-4.1$ wc m1.txt
3 [main] bash 2216 child_info_fork::abort: data segment start: parent(0x26D000) != child(0x38D000)
-bash: fork: retry: Resource temporarily unavailable
2013930 4027950 74968256 m1.txt
일반적으로 명령은 계속 실행되지만 (위에 표시된대로) 항상 그런 것은 아닙니다. 때때로 '오류'메시지가 연속으로 여러 번 발생합니다 (초기 숫자 "3"은 특히 두 번째 Cygwin 창을 시작하면 "4"또는 "2"로 변경됩니다.
또한 Cygwin을 시작하자마자 프롬프트 전에 다음 메시지가 표시됩니다.
3 [main] bash 6140 child_info_fork::abort: data segment start: parent(0x26D000) != child(0x36D000)
-bash: fork: retry: Resource temporarily unavailable
-bash: fork: Resource temporarily unavailable
-bash-4.1$
현재 Cygwin을 다시 제거 / 재설치할지 아니면 오류 메시지와 함께 살지에 대해 논의 중이지만 내가 알지 못하는 문제가 있는지 궁금합니다.
(Cygwin이 C : \ Cygwin에 설치되어 있다고 가정) :
- 작업 관리자를 열고 Cygwin과 관련된 것으로 보이는 모든 프로세스를 닫습니다.
- Windows 탐색기에서 C : \ Cygwin \ bin을 엽니 다.
- dash.exe, ash.exe, rebase.exe 및 rebaseall이이 폴더에 있는지 확인하십시오.
- 누락 된 항목이 있으면 Cygwin 설정을 다시 실행하고 dash, ash 및 rebase 패키지를 선택하십시오.
- C : \ Cygwin 폴더를 마우스 오른쪽 버튼으로 클릭하고 읽기 전용 (선택된 경우)을 선택 취소 한 다음 확인을 누릅니다.
- 일부 파일을 전환 할 수 없다는 오류가 발생하면 "모두 무시"를 선택합니다. 이 프로세스가 완료 될 때까지 기다리십시오.
- Windows 탐색기에서 C : \ Cygwin \ bin을 찾습니다.
- dash.exe를 마우스 오른쪽 단추로 클릭하고 "관리자 권한으로 실행"을 클릭하십시오. 명령 프롬프트가 표시되어야합니다.
$
- 을 입력
/usr/bin/rebaseall -v
하고 Enter 키를 누르고 프로세스가 완료 될 때까지 기다립니다.- Cygwin 프로세스 실행에 대한 오류가 발생하면 1 단계를 다시 시도하십시오. 그래도 작동하지 않으면 컴퓨터를 안전 모드로 다시 시작하고 다음 단계를 다시 시도하십시오.
- 댓글 작성자가 설정에 따라
cd /usr/bin && ./rebaseall -v
대신 입력해야 할 수도 있다고 언급했습니다 .
- Cygwin을 다시 열어보십시오.
이 과정은 저에게 효과적이었습니다. 나는 그것이 너희들에게도 효과가 있기를 바랍니다.
출처 : http://cygwin.wikia.com/wiki/Rebaseall
Cygwin을 다시 설치 한 후 수행해야하는 작업이므로 위의 답변에 다음을 추가하고 싶습니다.
"/ usr / bin"디렉토리 (일반적으로 C : \ cygwin \ bin)로 이동하고 마우스 오른쪽 버튼을 클릭하고 관리자 권한으로 실행 파일 : dash.exe 그런 다음 $ 프롬프트에서 다음을 입력하고 각 줄 뒤에 Enter 키를 누릅니다.
cd /usr/bin/
/usr/bin/peflags * -d 1
/usr/bin/rebaseall -v
그것이하는 일은 dll을 "rebase-able"로 표시 한 다음 rebase하는 것입니다. 위의 파일 외에도 peflags.exe가 있어야합니다 (이전 답변에서). 이 작업을 수행 한 후 창을 다시 시작해야 할 수 있으며 cygwin에 속한 프로세스 나 서비스가 실행되고 있지 않은지 확인해야합니다. (작업 관리자를 사용하고 관련 프로세스를 종료 한 다음 서비스 탭에서 CYG로 시작하는 서비스를 찾아 중지합니다.)
이 작업을 수행 한 후 dll이 잘못된 주소 (일명 포크 오류 등)에로드된다는 오류없이 cygwin을 실행할 수있었습니다.
찾는 것이 고통 스러웠 기 때문에 이것이 다른 사람들에게 도움이되기를 바랍니다.
SOURCE: http://www.cygwin.com/faq.html#faq.using.fixing-fork-failures
and the rebase README file.
여기에 다른 답변을 추가하기 위해 동일한 문제가 발생했지만 ash 또는 dash 셸에서 rebase 명령을 실행할 수 없습니다. 그러나 Windows cmd 셸에서 명령을 시작할 때 다음이 작동했습니다.
cmd /c "C:\cygwin64\bin\ash.exe /usr/rebaseall -v"
-v는 자세한 출력을 얻는 것입니다.
여기에서 다른 정보를 찾았습니다. http://cygwin.com/ml/cygwin/2014-02/msg00531.html /etc/rebase.db*에서 데이터베이스를 삭제하고 "ash"창에서 수행해야합니다. peflags * -d 1 rebaseall 2 대의 서버에서 작동합니다.
컴퓨터를 다시 시작하여이 문제를 해결했습니다. 아마도 드라이버 업데이트를 설치하고 종료하는 대신 절전 모드를 계속 사용했을 것입니다.
cygiconv-2.dll 포크로 Cygwin을로드하고 Cygwin 터미널에서 성공적으로로드하지 않을 때 동일한 문제가 발생했지만 AntiVirus (특히 Ad-aware)를 끈 후 문제가 해결되었고 Cygwin이 제대로 작동했습니다.
babun의 Cygwin을 사용하는 경우 rebaseall 후 Windows 명령 프롬프트 또는 Windows 탐색기에서 .babun \ cygwin \ cygwin.bat를 실행하여 Cygwin을 시작해보십시오.
이것은 나를 위해 작동합니다 (babun의 기본 콘솔을 시작하는 동안-mintty는 포크 오류를 발생시킵니다).
win10에서 오류가 발생했고 설치하기 전에 c :로 리베이스하려고했습니다. 그런 다음 설치 프로그램이 c : / Users / myuser 대신 설치하는 것을 보았으므로 c : / Users / myuser에서 c : .badun으로 모든 파일을 복사 한 다음 다시 시작하고 badun.bat를 엽니 다.
이것이 현명하다면 지금은 복제 된 XD ...하지만 다시 작동했습니다.
Rebase
ing didn't help in my case. In addition to what other people suggested, I noticed that reducing the length of PATH
environment variable fixed the issue for me (and for other people as well as can be seen from this answer).
This issue is intermittent in nature & I found this issue when there is network is too slow to connect to remote machine on AWS.... I have Shell script that runs through Gitbash shell & it connects to AWS EC2 instance with ssh..... Most of the time, it ran correctly but 2 out 100 times it get into this issue bash: fork: retry: Resource temporarily unavailable .... Killing the MSYS2 terminal from task manager helps to overcome with this issue.... Negative side is you need to run the scripts from the beginning...
I started facing this problem after upgrading to windows 10. As of now I do not see that any of the above method working.
What I am noticing is that if you start cygwin with admin right (right click and say "run as admin") then it works fine.
Or you open cmd as administrator and then launch cygwin from there, then also it runs fine.
Just reinstall cygwin and select TCL and activate EXPECT
'code' 카테고리의 다른 글
iPad 및 iPad 만 대상으로하는 CSS 미디어 쿼리? (0) | 2020.11.17 |
---|---|
자바 스크립트에서 iso 날짜를 밀리 초로 변환 (0) | 2020.11.17 |
"res.send"후에 코드를 실행할 수있는 이유는 무엇입니까? (0) | 2020.11.17 |
MVC : 비즈니스 로직을 어디에 넣을까요? (0) | 2020.11.17 |
jQuery UI 자동 완성 위젯 검색 구성 (0) | 2020.11.17 |