2014-11-03 42 views
-2

我正在嘗試創建一個不會受到漫遊器影響的軟件。有沒有辦法讓我在程序中編寫代碼來檢查操作系統中是否有與之類似的進程,然後如果它被識別,則將其放入關閉機制中。想想netflix,如果chrome中的一個選項卡正在運行netflix,打開的第二個選項卡將顯示「oops」消息。對於那些不能在網絡瀏覽器上運行的東西,有沒有這樣的東西?我應該看什麼?程序在操作系統中識別自身的一個副本

在此先感謝

+4

你必須要*的方式更具體*關於你想要達到的目標。可能的答案從「簡單」到「不可能」。 – lxg 2014-11-03 21:33:59

+0

當然,您可以在同一個用戶名下查找正在運行的進程,但這與bot /惡意軟件有什麼關係?人們可以在不同的用戶下運行它,或者複製/重命名應用並再次運行它。 – Krease 2014-11-03 21:34:13

+0

基本上我試圖做的是創建一個在分散網絡中播放音樂的程序。如果在同一臺機器上工作,我試圖確保一個人不能「雙重播放」來自網絡的歌曲。這可能嗎? – user297885 2014-11-03 22:32:58

回答

1

可以有大量的解決方案;第一個想到的是:

1)你的程序檢查是否存在一個特定的文件;如果沒有找到這些文件,那麼程序繼續,否則你的程序知道另一個實例正在運行,因此可以立即終止。如果找不到該文件,程序將創建該文件,然後在刪除之前將其刪除。

2)您可以使用操作系統調用或o.s.實用程序就可以知道你的程序的另一個實例正在運行(例如:在Linux中,命令ps)

樂趣

+0

這是否適用於我精心製作的答案? – user297885 2014-11-03 22:46:51