Pi'yi SSH veya monitör olmadan güvenli bir şekilde kapatmak?


25

Pi'm şu anda SSH'ye yanıt vermiyor ve sahip olduğum tek HDMI monitör birkaç metre uzakta büyük bir TV. Çıkarma hakkında kötü şeyler duydum ama başka seçeneğim var mı?

Şu anda kafasız raspbian çalışıyor, belki bir klavye bağlayıp komutları tahmin edebilirim?


3
Şimdilik işe yaramayacak, ancak gelecekte düzgün bir şekilde kapatılması için GPIO pinlerinize bir düğme ekleyebilirsiniz
Rizzle Light

Veri noktası olarak: Birkaç yıldır pille çalışan mobil robotlardaki çeşitli görevler için RPI kullanıyorum. Bunlar güçlerini sık sık ve uyarmadan keserler. Pis / SD kartların herhangi birinde bir sorunla karşılaşmadım (SD bağlantısının sürekli titreşimden ve duvardan ayrılmasından dolayı gevşek olması dışında).
Mike Ounsworth

HDMI monitörünü geçici olarak birkaç metreden fazla hareket ettiremez ve işiniz bitince geri koyamazsınız?
jpmc26

@ jpmc26 merdivenlerden düştü ve oldukça büyük bir televizyon.
vpzomtrrfrt

Yanıtlar:


25

Dosya sistemi bozulma riskini artırdığından son çare olarak görülmekle birlikte , yeşil ACT ışığı yoğun yanıp sönmüyorsa kordonun fişini çekmek genellikle normaldir .

Varsayılan olarak, ACT led'i SD kartta G / Ç etkinliği gösterir. Kapalıysa, büyük olasılıkla sistem boşta kalır. Bu mutlaka doğru değildir, ancak CPU yoğun aktivitesi olan (ve G / Ç olmayan) bir sistemi öldürmek doğal olarak bir sorun değildir. İşletim sistemi, dosya sistemi bilgilerini bellekte önbelleğe alır; bu, SD kartındaki gerçek depolama alanıyla senkronize olamayacağı anlamına gelir, ancak bu en az birkaç saniyede bir ele alınmalıdır (bazen bu kalıbı ACT'den çıkarabilirsiniz. Led).

Yani, 5-10 saniye izledikten sonra boşta görünüyorsa ve başka bir seçeneğiniz yoksa, devam edin ve fişi prizden çekin. Yine, bu hiçbir şeyi garanti etmiyor ve sistemin kilitlenebileceği ve dosya sistemi senkronizasyonunun düzgün bir şekilde gerçekleşmeyeceği talihsiz senaryolar var, ancak çoğu durumda iyi olmalısınız.

Muhtemelen kordonu bir pi (ya da elektrik kesintisi) üzerine bu şekilde yüzlerce kez çekmek zorunda kaldım ve bu yüzden hiç kederli olduğunu hatırlayamıyorum. Bazen kartı başka bir makineye koyacağım ve e2fsck -fbuna değecek kök dosya sisteminde çalışacağım . İşletim sistemi dosya sistemini önyükleme sırasında otomatik olarak kontrol eder, ancak bu kontrolün başarısız olması (veya doğru şekilde yapılmaması) ve fark edilmeden geçmesi mümkündür.


8
5 - 10 sn boşta kalma süresi, Linux’un varsayılan ayarının /proc/sys/vm/dirty_writeback_centisecs500 saniye (5 saniye) olmasıdır. Bu nedenle, Linux G / Ç arabelleklerinde oturan yazılı olmayan veriler içeriyorsa, siz değiştirmediğiniz sürece, 5 saniye sonra diski temizlemeye başlar. Teorik olarak, bir günlük kaydı FS, bir yazma sırasında güçlenseniz bile tüm dosya sisteminin bozulmasına karşı güvenli olmalıdır, ancak boşta kalmasını beklemek, yakın zamanda değiştirilen dosyalara zarar vermemek için size daha iyi bir şans verir. (Hangi günlük yalnızca ext3 / ext4 verileriyle korur = varsayılan değil günlük)
Peter Cordes

31

Magic SysRq Anahtarı

Bu senin başlamanı sağlamalı.

Sihirli SysRq tuşu, Linux sisteminin anladığı, kullanıcının sistemin durumuna bakılmaksızın çeşitli düşük seviyeli komutlar gerçekleştirmesine izin veren bir tuş kombinasyonudur. Donma durumlarından kurtulmak veya dosya sistemini bozmadan bilgisayarı yeniden başlatmak için kullanılır . Etkisi, bilgisayarın donanım sıfırlama düğmesine (veya güç anahtarına) benzer, ancak daha birçok seçenek ve çok daha fazla kontrole sahip.

Klavyeyi takıp bu şeyleri kör olarak yazabilirsiniz (monitörsüz).

Dosya sisteminde bozulma yok, ilave donanım gerekmez.


GPIO Düğmesi

Rizzle Light'ın önerdiği gibi, bir çeşit düğme alıp onu GPIO pinlerine bağlayabilir ve düğmeye basmanın "poweroff" komutunu çalıştırmasını sağlamak için (elbette yönetici ayrıcalıklarıyla) küçük bir programlama büyüsü yapabilirsiniz.

GPIO sizin gibi, uyum sağlayabilmesi çevrimiçi öğreticiler programlama ton vardır bu bir .

Rahul R Dhobi, Ahududu Pi'yi durduracak güzel bir iki yüzlü python senaryosuna sahiptir:

import os
os.system("shutdown now -h")

Komut dosyanızı kök ayrıcalıklarla yürütün.


3
Linux çekirdeğinin sihir-SysRQ belgeleri, şimdiye kadar kağıda bastığım tek belge parçası :). (Ve sadece bir bilgisayarım varken geri döndü.)
Peter Cordes,

3

Tahmin etmeye gerek yok; sadece klavyeyi takın ve şunu yazın ve enter:

sudo shutdown -h now

shutdownKomut yürütmek için bir kök ayrıcalık gerekiyor.


4
İlk önce giriş yapmanız (kör) ve ayrıcalıklı bir hesap kullanmanız veya (Raspbian’in süper pikullanıcısı olduğunu varsayarsak ...) hazırlamanız gerekir sudo.
goldilocks

2
@goldilocks: Muhtemelen koymak istiyorum sudoen baştan ziyade, komuta ekleyerek bunu :-)
psmears

@goldilocks: Doğru, hala, giriş yapmak çok fazla bir angarya gibi görünmüyor.
Monica

1
Ben zor seviyede yorum yapmıyordum;) @psmears Herkese, senden ayrıldık! Düzeltildi.
goldilocks

@goldilocks: Yeterince adil :)
Monica ile

1

Seri port bu gibi durumlar için iyi bir geri dönüş ve varsayılan olarak etkindir.

Putty'yi kullanarak seri porta bağlanmayı deneyebilirsiniz. Bu işe yararsa, kullanıcı adınızı kullanarak giriş yapın ve güvenli bir şekilde kapatmak için "sudo poweroff" verin.

Daha fazla bilgi için http://elinux.org/RPi_Serial_Connection bakın ...


0

Aynı konuya girdiğimde monitöre kolay erişmeden evin bir bölümünde bir dosya sunucusunu test ediyordum. Aşağıdakiler benim için çalıştı, pi'nizin varsayılan GUI ortamına önyükleme yaptığını farz ediyorum:

  1. Klavyeyi takın (henüz yapılmadıysa).
  2. Çalıştır iletişim kutusunu açmak için Alt-F2'ye basın.
  3. Terminal penceresini başlatmak için aşağıdakini yazın ve Enter tuşuna basın:

    lxterminal

  4. Güvende olmak için birkaç saniye bekleyin ve ardından aşağıdakileri yazın:

    sudo kapatma şimdi -h

  5. Enter tuşuna basın.

Bu Pi'yi kapatmalı. Çalışırsa, klavye yanar ve takılı olan USB aygıtları kapanır. Değilse, komutları yazarken bir hata yapmanız durumunda yukarıdaki adımları tekrarlayabilirsiniz.


-1

Pencere düğmesi - dokuz kez aşağı doğru tuş - 2 kez giriş yapın ... Keyfini çıkarın ...


1
Cevabınız için teşekkürler - tüm girdiler takdir edilmektedir. Cevabınızı geliştirmenize yardımcı olacak bazı değişiklikler önermem istendi: İlk olarak, "Pencere düğmesi" ile, Windows klavyelerinde Microsoft logosunun bulunduğu düğmeyi kastediyorsunuz. Öyleyse, açıkça belirtmelisiniz. Ayrıca, cevabınızda bir anahtar sıra belirtilmiştir ancak yeterince açık değildir. Kısacası, lütfen varsayımlara güvenmek yerine cevabınızın gerçekte ne olduğunu net bir şekilde netleştirmek için cevabınızı tekrar yazınız.
Seamus

Ayrıca, askerin başsız bir raspbian olduğunu da unutmayın . Bu, masaüstü ortamının kurulu olmadığı anlamına gelir, bu nedenle bu tuş sırası muhtemelen yardımcı olmaz.
Hydraxan14
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.