題:
在沒有SSH或監視器的情況下安全關閉Pi?
vpzomtrrfrt
2016-12-28 22:08:31 UTC
view on stackexchange narkive permalink

我的Pi當前不響應SSH,而我擁有的唯一HDMI監視器是幾米外的大型電視。我聽說過有關拔出插頭的壞事,但是我還有其他選擇嗎?

當前正在運行無頭raspbian,也許我可以連接鍵盤並猜測命令了?

目前暫時無法使用,但您可以在GPIO引腳上添加一個按鈕,以在將來將其正確關閉
作為數據點:幾年來,我一直在使用RPis在電池供電的移動機器人上執行各種任務。它們經常斷電而沒有警告。我還沒有遇到任何Pis / SD卡的問題(嗯,除了SD連接由於持續的振動和壁撞而鬆動)。
您不能將HDMI監視器暫時移開幾米,然後在完成後放回去嗎?
@jpmc26,它走下了樓梯,這是一台非常大的電視。
六 答案:
Hydraxan14
2016-12-29 03:46:14 UTC
view on stackexchange narkive permalink

Magic SysRq密鑰

這應該讓您入門。

Magic SysRq密鑰是Linux內核理解的組合鍵,無論系統狀態如何,用戶都可以執行各種低級命令。它通常用於從凍結中恢復,或重新啟動計算機而不會損壞文件系統。其作用與計算機的硬件重置按鈕(或電源開關)相似,但具有更多選項和更多控制權。

您可以插入鍵盤,然後在百葉窗中鍵入此內容(帶有

沒有文件系統損壞,不需要額外的硬件。


GPIO按鈕

正如Rizzle Light所建議的,您可以抓住某種按鈕並將其連接到GPIO引腳,然後做一點編程魔術,使按下按鈕可以執行“ poweroff”命令(當然,具有管理員權限。)

在線有大量的GPIO編程教程您可以適應,例如這個

Rahul R Dhobi有一個很好的兩層 python腳本,它將關閉Raspberry Pi:

  import osos.system(“立即關閉-h”) 

以root權限執行腳本。

Linux內核的magic-SysRQ文檔是我印在紙上的唯一文檔:)。 (那是我只有一台電腦的時候回來的。)
goldilocks
2016-12-28 22:29:16 UTC
view on stackexchange narkive permalink

儘管應該將其視為最後的選擇,因為它確實會增加文件系統損壞的風險,但是如果綠色ACT指示燈沒有頻繁閃爍,則拔下電源線通常沒問題。

默認情況下,ACT LED顯示SD卡上的I / O活動。如果關閉,則很可能係統處於空閒狀態。這不一定是正確的,但是殺死一個忙於CPU密集型活動(而不是I / O)的系統從本質上來說並不是問題。操作系統確實在內存中緩存了文件系統信息,這意味著它可能與SD卡上的實際存儲不同步,但是至少應該每隔幾秒鐘處理一次(您有時可以從ACT推斷出這種模式

因此,如果觀看5-10秒鐘後它似乎處於空閒狀態,而您別無選擇,請繼續並拔下電源。同樣,這不能保證任何事情,並且在不幸的情況下,系統可能會被鎖定並且文件系統同步無法正確進行,但是在大多數情況下,您應該還可以。

我可能已經用這種方法將pi上的電線拉動(或斷電)一百次以上,並且因此而無法回憶曾經的悲傷。有時我會將卡放在另一台機器上,然後在根文件系統上運行 e2fsck -f ,這是值得的。操作系統將在啟動時自動檢查文件系統,但是此檢查有可能失敗(或未正確完成)並被忽略。

5到10秒的空閒時間是因為Linux對`/ proc / sys / vm / dirty_writeback_centisecs`的默認設置是500厘秒(5秒)。因此,如果Linux的I / O緩衝區中有未寫入的數據,它將在5秒鐘後開始將其刷新到磁盤,除非您進行了更改。從理論上講,即使您在寫操作期間斷電,日記記錄FS也應可以防止整個文件系統損壞,但是等待它空閒可以為您提供更好的機會,也不會損壞任何最近修改的文件。 (哪些日誌僅使用ext3 / ext4 data = journal進行保護,這不是默認值)
Lightness Races in Orbit
2016-12-29 07:05:08 UTC
view on stackexchange narkive permalink

無需猜測;只需插入鍵盤並鍵入,然後按 enter kbd>:

  sudo shutdown -h now  

shutdown 命令需要具有root特權才能執行。

您必須先(盲目)登錄,然後使用特權帳戶或(假設Raspbian具有超強能力的`pi`用戶...)在`sudo`之前添加。
-1
@goldilocks:沒錯,登錄似乎並沒有那麼麻煩。
我沒有評論困難的程度;)@psmears糟糕,您離開了!已更正。
@goldilocks:還不錯:)
Quartz
2017-01-05 08:56:01 UTC
view on stackexchange narkive permalink

在這種情況下,串行端口是一個很好的備用,默認情況下已啟用。

您可以嘗試使用Putty連接到串行端口。如果可以,請使用您的用戶名登錄並發出“ sudo poweroff”以安全關閉。

有關更多信息,請參見 http://elinux.org/RPi_Serial_Connection

Nealios
2019-12-08 21:24:12 UTC
view on stackexchange narkive permalink

當我遇到同一問題時,我正在房屋的一部分中測試文件服務器,而無法輕鬆訪問監視器。假設您的pi正在引導到默認的GUI環境,以下代碼對我有用:

  1. 插入鍵盤(如果尚未完成)。
  2. 點擊 Alt -F2 kbd>打開“運行”對話框。
  3. 鍵入以下內容,然後按Enter鍵以啟動“終端”窗口:

      lxterminal  
  4. 等待幾秒鐘以確保安全,然後鍵入以下內容:

      sudo shutdoown now -h  
  5. 按Enter。

  6. ol>

    這應該關閉Pi。如果工作正常,鍵盤指示燈將亮起,並且所有連接的USB設備都將關閉。如果沒有,您可以重複上述步驟,以防輸入命令時出錯。

Prakhar Pandey
2018-07-23 18:08:17 UTC
view on stackexchange narkive permalink

窗口按鈕-九次向下鍵-兩次輸入...欣賞...

感謝您的回答-感謝所有輸入。我被要求提出一些建議以幫助您改善答案:首先,我假設“窗口按鈕”是指Windows鍵盤上帶有Microsoft徽標的按鈕。如果是這樣,則應明確聲明。此外,您的答案中暗含了一個按鍵順序,但不夠具體。簡而言之,請重新編寫您的答案,以使其清楚地明確您的答案是什麼,而不是依靠假設。
另請注意,詢問器正在運行* headless *樹莓派。這意味著未安裝桌面環境,因此此鍵序列可能無濟於事。
我也無腦運行,但是如果這確實可行,我將很高興安裝桌面環境。那麼這確實是一個非常簡單的方法,只有警告是如果GUI被凍結,它將無法正常工作


該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...