초저녁 쯤이었습니다.
전 항상 머리속에 위키백과에서 봤던 bash fork bomb라는 셸 스크립트를 외워(...) 두고 다니죠. 1
그래서 한 번 그 스크립트를 트위터에 뿌려 봤죠.
예전에 그걸 본 분 들의 반응("뭥? 이게 뭔가여?" 라든가 "왜 유용한 쉘 스크립트를 짜지 않고 이런 걸로 잉여력을..." 이라든가.)이 있기 때문에 이번에도 반응은 별로 크지 않을 것이다(...)라고 생각했습니다.
그런데 이번엔 무려 세 명이나 낚였죠(...)
일단 그 세 명의 실험 결과를 각각 말씀드리기 전에 제가 두 번 했던 실험의 결과부터 말씀드리려고 합니다.
1. 저의 1차 실험(Windows 7 + msysgit 사용)
1차 실험은 "에이 설마, 이게 (아예 메모리 구조 같은 게 다른 윈도에서도) 먹히겠어?"라는 의혹이 있었기에 그냥 아무런 대비책 없이 코드만 쳐 봤습니다.
그리고 잠시 후, 저는 절망하고 말았습니다.
작업 관리자의 프로세스 탭을 열어 보니까 보이는 것은 엄청난 양의 sh.exe들 2이었고, 그걸 끄려고 뭔가 실행하려고 했을 때는 이미 늦은 상태였거든요.
결국 콜드 리붓해버렸습니다.
2. 저의 2차 실험(Windows 7 + msysgit, 옆에는 대응책으로 cmd도 같이.)
2차 실험에서는 이미 1차 실험을 통해 포크밤의 파급력(...)을 알기에 이제 옆에는 taskkill /f /im "sh.exe"라는 명령어가 항시 장전된 cmd.exe를 띄워 놓았죠. 3
그리고 sh.exe에서는 포크 밤이 돌아가기 시작했고, 그 0.1초 뒤로 저 taskkill을 돌렸습니다만...
다행히도 빠른 대처로 이번에는 "bomb" 수준으로 가는 것을 막는 데 성공했지만,
이후에 메모장을 이용해 로그 분석을 해 보니 무려 프로세스 245개가 킬된 흔적이 보이더이다.
...이런 제 실험 결과까지 첨부했는데도 이싸람들이 SM플레이 기질이 있는 건지(?) 그 코드를 사용하겠다고 생떼(...)를 부리는 통에 결국 3명의 유저의 실험값을 얻게 되었습니다.
3. 맥 유저의 실험
타임라인상에서 더이상 말하지 않아도 될 정도로 유명한(...) 맥 유저 한 분이 실험에 동조.
결과는...
맥은 애초에 저런 포크밤 같은 사태를 막기 위해 대비책이 매우 잘 되어 있었던 것이었습니다......
덧: 그분이 바로 일전에 좀 그런 반응을 보이신 그 분이었습ㄴ(밟힌다)
4. iPod Touch 유저의 실험
그리고 위 3번 분과는 지인 관계(...)인 한 분이 무려 팟 터치(...)를 이용해서 실험을 하시는 대담함을 보여주셨습니다.
그 뒤로 무려 yfrog video에 올리시는 대담함(...)을 선보이셨죠.
물론 ssh를 사용했지만 bash 사용이라는게 중요합니다.
결과요?
비슷합니다.
5. Fedora 유저 한 명의 실험
그쪽엔 항상 killall -STOP sh를 다른 셸에 장전하라는 소리를 해두고 "하려면 해. cold reboot으로 인한 리스크는 책임지지 않아.[...]"라고 말을 했습니다만... 활동 잘 한 거 보면 말해둔 대로 잘 한 듯.
6. 이 실험의 진짜 결론
저는 이 실험을 통해서 컴퓨터 마니아들의(물론 저도 포함인지도 모르겠습니다만) 이해할 수 없는 특성을 하나 알아버렸습니다.
바로 이 싸람들이 왜인지는 몰라도 자기 컴퓨터를 망가뜨리는 코드에 열광하는(...) 경우가 있다는 거죠.
대체 이건 뭘 암시하는 걸까요.(......)
전 항상 머리속에 위키백과에서 봤던 bash fork bomb라는 셸 스크립트를 외워(...) 두고 다니죠. 1
그래서 한 번 그 스크립트를 트위터에 뿌려 봤죠.
예전에 그걸 본 분 들의 반응("뭥? 이게 뭔가여?" 라든가 "왜 유용한 쉘 스크립트를 짜지 않고 이런 걸로 잉여력을..." 이라든가.)이 있기 때문에 이번에도 반응은 별로 크지 않을 것이다(...)라고 생각했습니다.
그런데 이번엔 무려 세 명이나 낚였죠(...)
일단 그 세 명의 실험 결과를 각각 말씀드리기 전에 제가 두 번 했던 실험의 결과부터 말씀드리려고 합니다.
1. 저의 1차 실험(Windows 7 + msysgit 사용)
1차 실험은 "에이 설마, 이게 (아예 메모리 구조 같은 게 다른 윈도에서도) 먹히겠어?"라는 의혹이 있었기에 그냥 아무런 대비책 없이 코드만 쳐 봤습니다.
그리고 잠시 후, 저는 절망하고 말았습니다.
작업 관리자의 프로세스 탭을 열어 보니까 보이는 것은 엄청난 양의 sh.exe들 2이었고, 그걸 끄려고 뭔가 실행하려고 했을 때는 이미 늦은 상태였거든요.
결국 콜드 리붓해버렸습니다.
2. 저의 2차 실험(Windows 7 + msysgit, 옆에는 대응책으로 cmd도 같이.)
2차 실험에서는 이미 1차 실험을 통해 포크밤의 파급력(...)을 알기에 이제 옆에는 taskkill /f /im "sh.exe"라는 명령어가 항시 장전된 cmd.exe를 띄워 놓았죠. 3
그리고 sh.exe에서는 포크 밤이 돌아가기 시작했고, 그 0.1초 뒤로 저 taskkill을 돌렸습니다만...
다행히도 빠른 대처로 이번에는 "bomb" 수준으로 가는 것을 막는 데 성공했지만,
이후에 메모장을 이용해 로그 분석을 해 보니 무려 프로세스 245개가 킬된 흔적이 보이더이다.
...이런 제 실험 결과까지 첨부했는데도 이싸람들이 SM플레이 기질이 있는 건지(?) 그 코드를 사용하겠다고 생떼(...)를 부리는 통에 결국 3명의 유저의 실험값을 얻게 되었습니다.
3. 맥 유저의 실험
타임라인상에서 더이상 말하지 않아도 될 정도로 유명한(...) 맥 유저 한 분이 실험에 동조.
결과는...
sh: fork: resource temporarily unavailable
sh: fork: resource temporarily unavailable
sh: fork: resource temporarily unavailable
(무한 반복...)
...그렇습니다.sh: fork: resource temporarily unavailable
sh: fork: resource temporarily unavailable
(무한 반복...)
맥은 애초에 저런 포크밤 같은 사태를 막기 위해 대비책이 매우 잘 되어 있었던 것이었습니다......
덧: 그분이 바로 일전에 좀 그런 반응을 보이신 그 분이었습ㄴ(밟힌다)
4. iPod Touch 유저의 실험
그리고 위 3번 분과는 지인 관계(...)인 한 분이 무려 팟 터치(...)를 이용해서 실험을 하시는 대담함을 보여주셨습니다.
그 뒤로 무려 yfrog video에 올리시는 대담함(...)을 선보이셨죠.
물론 ssh를 사용했지만 bash 사용이라는게 중요합니다.
결과요?
비슷합니다.
sh: retry: fork: resource temporarily unavailable
sh: retry: fork: resource temporarily unavailable
sh: retry: fork: resource temporarily unavailable
sh: fork: resource temporarily unavailable
무한 반복하다가 함수가 성공적으로 종료됐다는 뜻의 말이 스쳐지나갔긴 합니다만, 결국 그의 팟은 멀쩡했습니다(...)sh: retry: fork: resource temporarily unavailable
sh: retry: fork: resource temporarily unavailable
sh: fork: resource temporarily unavailable
5. Fedora 유저 한 명의 실험
그쪽엔 항상 killall -STOP sh를 다른 셸에 장전하라는 소리를 해두고 "하려면 해. cold reboot으로 인한 리스크는 책임지지 않아.[...]"라고 말을 했습니다만... 활동 잘 한 거 보면 말해둔 대로 잘 한 듯.
6. 이 실험의 진짜 결론
저는 이 실험을 통해서 컴퓨터 마니아들의(물론 저도 포함인지도 모르겠습니다만) 이해할 수 없는 특성을 하나 알아버렸습니다.
바로 이 싸람들이 왜인지는 몰라도 자기 컴퓨터를 망가뜨리는 코드에 열광하는(...) 경우가 있다는 거죠.
대체 이건 뭘 암시하는 걸까요.(......)
- 트위터에서 렌 취급 받고 있는(...) 애쉬군, 로그를 정리하며