2009-05-01 75 views
0

我意識到這聽起來像是一個惡意軟件程序會做的事情,所以我明白,如果你們中的一些人對我的意圖持懷疑態度。我絕不會爲了一個爲其他人使用的程序做這件事,但我也意識到其他人可能會看到答案並自己做。如何在Mac/Linux中很難殺死進程?

當我在互聯網上時,我的工作效率下降了,所以我想編寫一個程序,每隔一段時間自動關閉我的連接。但是瞭解我之後,我可能只會在它變得煩人時纔會殺死它,而且我想讓它變得有點困難,所以我不會一直這麼做。對此的任何建議(或其他方式來達到我想要做的)?我正在考慮將其命名爲與另一個進程相同的東西,因此我不得不花費一些時間來弄清楚我需要殺死什麼,使用cron作業頻繁產生進程等。

+1

只是刪除你的網卡,並把它給一個朋友堅持下去,直到你想回到互聯網上。 – Calvin 2009-05-01 06:02:24

回答

9

Jargon file,總是很好看的IT產業歷史愛好者和那些誰想要知道我們在談論:在70年代中期

=====

返回,摩托羅拉 的幾位系統支持人員發現了一個相對簡單的方法來破解施樂CP-V分時系統的系統安全。通過簡單的編程策略, 用戶程序可能欺騙系統在'主模式'(管理程序狀態)下運行程序的 部分,其中 內存保護不適用。然後該程序可以將一個較大的 值插入其「特權級別」字節(通常是寫保護),然後 可以繼續繞過 文件管理系統內的所有級別的安全性,爲系統監視器打補丁,並執行大量的 其他有趣的事情。總之,穀倉門是敞開的。

摩托羅拉通過官方的 '1級SIDR'(一個需要被認爲'緊迫'的錯誤報告需要是昨天修復的 ')向XEROX正確報告了這個問題。由於每個SIDR的文本都被輸入到一個可以被很多人查看的 數據庫中,摩托羅拉 遵循批准的程序:他們只是將問題報告爲 '安全SIDR',並附有所有必要的文件, 分別重現方式等。

施樂坐在他們的大拇指上......他們要麼沒有意識到問題的嚴重性,要麼沒有分配必要的操作系統人員資源來開發和發佈官方補丁。

個月過去了。摩托羅拉傢伙們對施樂公司表示支持 的代表表示不滿。最後,他們決定採取直接行動,以 向施樂管理層證明,系統可能會如何輕鬆破解012xx,以及系統安全系統如何徹底破壞 。

他們在操作系統列表中挖掘出來,並設計了一套完全惡意的修補程序。然後將這些補丁合併到一對稱爲Robin Hood和Friar Tuck的程序中。 Robin Hood和Friar Tuck被設計爲'鬼工' (Unix守護進程中的守護進程);他們會利用現有的漏洞 來破壞系統安全,安裝必要的補丁,然後 會密切關注對方的狀態,以便讓系統運營商(實際上是超級用戶)中止它們。

因此......有一天,系統操作員在El Segundo的主CP-V軟件 開發系統中出現了一些不尋常的 現象。其中包括以下內容:

  • 磁帶驅動器會在 工作中間倒帶和卸下磁帶。
  • 磁盤驅動器會快速地來回尋找,他們會嘗試 在地板上走動。
  • 卡片打卡輸出設備偶爾會自己啓動並打出一個(每個孔都被打孔) 。這些通常會在衝牀中堵塞 。
  • 控制檯會將羅賓漢 的誹謗和侮辱性消息打印到Friar Tuck,反之亦然。
  • 施樂讀卡器有兩個輸出堆垛機;可能是 被指示堆疊成A,堆疊成B或堆疊成A,除非卡片不可讀取,在這種情況下,壞卡被放入 堆疊器B中。由重影安裝的一個補丁添加了一些 代碼讀卡器驅動程序......在讀取卡片之後,它會將 翻轉到相反的堆疊器。因此,卡片組在讀取時會將 自己分成兩半,讓操作員手動將它們重新分配爲 。

還產生了一些其他效果。

當然,操作員調用操作系統開發人員。他們 發現運行的土匪鬼工作,並X'ed他們......曾經 再次感到驚訝。當羅賓漢是X'ed的 事件按以下順序發生了:

 
!X id1 
id1: Friar Tuck... I am under attack! Pray save me! 
id1: Off (aborted) 
id2: Fear not, friend Robin! I shall rout the Sheriff of 
    Nottingham's men! 
id1: Thank you, my good fellow! 

每個鬼的工作將檢測的事實,另一隻被打死, 和將開始的新副本最近被殺的節目在幾個 毫秒之內。殺死兩個鬼的唯一方法是同時殺死他們(非常困難)或故意使系統崩潰。

最後,系統程序員做了後者...只發現 土匪在系統重新啓動時再次出現!原來 了這兩個方案已修補的引導時圖像( /爲vmunix文件,在Unix的條款),並自己加入到了在開機時啓動的 程序列表...

當系統人員從乾淨的引導磁帶重新啓動系統並且 重新安裝顯示器時,Robin Hood和Friar Tuck鬼魂終於被根除。此後不久,施樂公司針對此問題發佈了一個補丁 。

據稱施樂公司向摩托羅拉管理層提出了關於 這兩名員工的歡樂惡作劇訴訟的投訴。 沒有記錄任何嚴重紀律處分是針對 其中任何一人。

=====

所以,結果是有多個作業(多達你喜歡),互相監督,並重新啓動必要。您還需要防止kill語句的變體,它可以在一次命中中殺死整個過程。

0

有兩個進程分別關注其他,當一個消失時,另一個立即重新啓動它。讓他們等待另一個人持有的信號量,或者類似的東西,所以你不會睡覺和投票(沒有注意的時間段!)。

並使它們高於正常優先級。

3

獲取一個小部件,在桌面上顯示您的銀行餘額(或配偶的皺眉臉,或您的孩子的飢餓的臉)。

當你意識到這和你的浪費互聯網使用之間有聯繫時,你會停下來。您只需要創建適當的刺激/響應反饋循環,並且您會做出適當的響應。

+1

是的,我認爲訓練你的意志力比起一些精心製作的計劃讓你自己討厭更有意義。我的意思是,每次你不應該使用互聯網時,它仍然需要意志力來實際執行程序。 – Calvin 2009-05-01 07:48:22

2

做它作爲一個內核模塊,你不能簡單kill它。

+0

你可以簡單地kextunload它。 – 2009-05-01 06:48:59

+0

當然,您必須將其與一些認真的工作相結合,以便您不能卸載它。 – Francis 2009-05-01 07:01:07

0

你可以輸入你的crontab,每隔十分鐘就有機會殺死firefox。沒有殺死的過程來防止它發生。

喜歡的東西:

#在/ usr/bin中/ perl的-w嚴格

我的$ RANDOM_NUMBER = RAND()* 10;

如果(RAND()* 10 == 1) { kill firefox-bin }

和在crontab中: */10 * * * * * /home//maybe_kill_firefox.pl