用posix訊號對mac應用程式進行老式故障排除

POSIX訊號是MACOS核心的UNIX基金會的結果,但是為什麼它們在那裡,你們怎麼還能使用它們呢?...

在活動監視器中有一個神祕的菜單選項,用於向進程發送信號。你有沒有想過那是什麼?如果您選擇它,您將看到像SIGINT和SIGHUP這樣的模糊術語,這並不完全清楚。那麼這些信號到底是什麼呢?

troubleshoot-mac-apps-posix

這些信號是MUOS核心UNIX基金會的結果。終端內置了一些這樣的信號:當您按下Ctrl+C來停止正在運行的命令時,您正在發送進程SIGINT來中斷並停止當前正在運行的命令。它們是應用程序相互通信的最早方式之一,是舊的“便攜式操作系統接口”(POSIX)標準的一部分。

雖然瞭解系統工作原理的基礎知識很好,但您也可以使用這些信號來捕獲有關行為不正常的應用程序的信息。

什麼是posix公司(posix)?

POSIX是UNIX和UNIX類操作系統的基礎標準。在這些兼容系統中,macOS是與Unix兼容的。其核心是Darwin,這是一個Unix核心,其根可以追溯到NeXTSTEP。它本身就是BSD的一個分支,BSD是最初的Unix變體之一。

POSIX確保所有這些操作系統都以預期的方式處理代碼,允許開發人員知道他們的代碼是真正可移植的。當他們將這些信號中的一個發送到另一臺機器上到一個進程時,他們得到的數據是以他們可以預期和處理的格式返回的。這是一個粗略的簡化大約40年的計算曆史,但你得到了一般的想法。

當與構成macOS的Unix基礎的最基本的守護進程通信時,這些信號是最好的。守護進程是後臺進程,運行計算機的基本功能——或者用macOS的通俗說法,就是服務。臭名昭著的發現就是一個例子。這是OS X Yosemite 10.10取代了mDNSResponder,這是另一項被認為是導致更新中出現網絡問題的服務。

Command Line

根據應用程序接收信號的方式,您可以發送一個退出應用程序以創建所謂的核心轉儲的信號。核心轉儲包含有關正在運行的程序的所有當前數據。這些對於不斷崩潰的應用程序進行故障排除非常重要。在Mac上,這些轉儲採用Mach-O文件格式,您可以在名為Xcode的macOS開發環境中讀取。大多數用戶可能不會對這些做太多,但是如果你對應用程序問題感到沮喪,他們可以幫助發送給開發人員以獲得支持。

還有一點經典的計算在這裡顯示了它的根源。Mach-O文件格式與Mach微內核共享其名稱。與BSD一起,這是macOS根的一部分,這兩個是基礎內核XNU的一部分。Mach沒有BSD那麼有傳奇色彩,所以它並沒有受到很多媒體的關注,但它是蘋果操作系統區別於其他Unix變體的一部分。

那我怎麼用呢?

我們以前都有過這樣的經歷:你得到一個應用程序的更新,或者下載一個新的應用程序,每次你打開它時它都會掛起。從Apple菜單中打開Force Quit,會看到應用程序顯示為沒有響應。更糟糕的是,這是一些後臺進程拖累你的系統。

Activity Monitor

打開Activity Monitor並單擊沒有響應的進程。然後轉到View(視圖)菜單並選擇Send signal to process(發送要處理的信號)。將彈出一個菜單,允許您選擇要發送到進程的信號選擇您的信號,然後按send。

如果您喜歡終端,您將使用您已經熟悉的命令。這個

kill

命令用於停止進程。如果你加上

-s

您可以添加一個數字,向正在殺死的進程發送信號。下面是一個列表,列出了

kill

手冊頁:

  • 1-HUP(掛斷)
  • 2-INT(中斷)
  • 3-退出(退出)
  • 6-ABRT(中止)
  • 9-殺戮(不可捕獲、不可忽略的殺戮)
  • 15-期限(軟件終端信號)

還有一些其他的信號你也可以發送,這些只是最常見的。這裡有一個完整的代碼列表。

我什麼時候用?

既然您知道如何處理POSIX信號,就可以使用它們**淨地停止掛起的進程。公平地說,你不會每天都使用這些代碼。當與開發人員一起處理一個奇怪的應用程序崩潰時,或者幫助您的sysadmin beta測試您公司的內部應用程序時,這些代碼可以幫助您獲得所需的信息。

如果應用程序被編碼為創建這些轉儲,那麼您將在目錄中找到它們

/cores

使之成為在為崩潰或掛起的應用程序獲取數據時易於查找的目錄。您可以在這裡檢查並使用

ls -a

命令。這將向您顯示該目錄中的所有文件,然後您可以使用music命令將它們複製到更易訪問的目錄中

mv filename destination

.

終端使用

command cd /cores

切換到目錄,然後

ls -a

列出內容。只需使用

mv filename /Users/username/Documents

(替換文件名和用戶名)。

mackeyboard

如果您是一個長期使用Unix並遷移到Mac的用戶,那麼還有哪些鮮為人知的特性呢?如果你有興趣查看一個只使用Mac OS的開源基礎的項目,PurrdWin。請在評論中告訴我們這是怎麼回事。我們還想知道POSIX信號何時解決了Mac的一個棘手問題。

您以前使用過POSIX信號進行故障排除嗎?

圖片來源:Dean Drobot/Shutterstock

  • 發表於 2021-03-16 15:08
  • 閱讀 ( 46 )
  • 分類:蘋果

你可能感興趣的文章

計算機故障排除和技術支援的十大網站

...用Windows,還有無數人使用Office、Skype和OneDrive等其他微軟應用和服務,因此瞭解到微軟官方社群是一個繁忙的地方就不足為奇了。 ...

  • 發佈於 2021-03-13 08:47
  • 閲讀 ( 51 )

無法在mac上建立windows安裝程式?4故障排除提示

...如果你買的不是光碟上的Windows,你需要建立自己的安裝程式。微軟已經讓這一過程變得相當簡單,但並不總是按計劃進行。 ...

  • 發佈於 2021-03-15 08:05
  • 閲讀 ( 43 )

macbook觸控板不工作?4個故障排除提示

...的時候不會碰到墊子;它們可能會導致墊子一次讀取多個訊號,併產生混淆。 ...

  • 發佈於 2021-03-18 06:00
  • 閲讀 ( 57 )

聽上去你的mac不工作?輕鬆解決音訊問題

...處理應用程式中的音訊需求。這包括錄製、編輯、回放、訊號處理、壓縮和解壓縮等。 ...

  • 發佈於 2021-03-18 16:27
  • 閲讀 ( 56 )

如何重新對映mac的功能鍵並執行任何您想要的操作

...重新對映任務控制鍵以拍攝螢幕截圖,而不是顯示活動的應用程式。或者使用Launchpad鍵開啟emoji檢視器,或者選擇選單欄日曆? ...

  • 發佈於 2021-03-20 11:03
  • 閲讀 ( 53 )

修復mac上多個顯示器的9個故障排除提示

...將無法工作。理想情況下,您希望使從計算機到監視器的訊號路徑儘可能簡單。 ...

  • 發佈於 2021-03-21 12:59
  • 閲讀 ( 44 )

safari下載不起作用?7故障排除提示和修復嘗試

...載出現問題是因為你的Mac不允許你開啟來自不明開發者的應用程式。您可以在“系統首選項”的“安全和隱私”窗格中找到此設定,它限制您開啟從應用程式商店下載的應用程式。 ...

  • 發佈於 2021-03-21 20:42
  • 閲讀 ( 47 )

針對所有iphone型號的15個關鍵iphone故障排除提示

... 如果你突然失去了網路訊號意外,一個移動的SIM卡可能是你的問題。 ...

  • 發佈於 2021-03-22 20:23
  • 閲讀 ( 45 )

如何使用apple service diagnostic對mac進行故障排除

...片。CPU、GPU、顯示器等方面的其他問題可能是購買新Mac的訊號。當你準備好購買時,學習如何在蘋果的網站上構建你的完美Mac。 ...

  • 發佈於 2021-03-25 02:02
  • 閲讀 ( 44 )

對三星smartthings感到沮喪?這是你的選擇

...ngs裝置透過無線方式相互通訊。因此,他們經常受到微弱訊號的困擾。 ...

  • 發佈於 2021-03-26 08:41
  • 閲讀 ( 58 )
pmr751
pmr751

0 篇文章

作家榜

  1. admin 0 文章
  2. 孫小欽 0 文章
  3. JVhby0 0 文章
  4. fvpvzrr 0 文章
  5. 0sus8kksc 0 文章
  6. zsfn1903 0 文章
  7. w91395898 0 文章
  8. SuperQueen123 0 文章

相關推薦