Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

Just as a curiosity; something went wrong with a Linux machine, making the root file system show up as "64Z". A few commands work, like top, df, and kill, but others like reboot come up with "command not found" (since it can't read the root filesystem), and chmod comes up with a segmentation fault.

Is there any way to restart the system anyway, i.e. without the reboot program? I tried kill -PWR 1 (sending SIGPWR to init), but this didn't seem to do anything.

It's mostly an academic curiosity. The labmate who was doing whatever large-database work that caused the failure will be physically restarting the machine soon.

share|improve this question
    
Hopefully this will save me from the problem next time ... [ cyberciti.biz/tips/reboot-linux-box-after-a-kernel-panic.html ] –  gatoatigrado Dec 27 '11 at 8:13
    
Have you see that the problem with the root fs has triggered a kernel panic ? –  Hanan N. Dec 27 '11 at 9:52
add comment

5 Answers

up vote 21 down vote accepted

Try to reboot with magic sysrq key:

echo b > /proc/sysrq-trigger

For more information read wiki or kernel documentation.

share|improve this answer
    
Thanks! This did reboot the system. (Unfortunately, whatever happened to the root filesystem seems unrecoverable ... sad). –  gatoatigrado Dec 28 '11 at 3:25
add comment

The easiest way is usually to just change the runlevel.

In Linux, you can do:

Prompt# init 6

More information here: http://linux.about.com/od/itl_guide/a/gdeitl36t04.htm

share|improve this answer
1  
This will not work in this situation. init command is in /sbin (at least in ubuntu), so it requires file system access. –  Sunny Jan 4 '12 at 17:40
add comment

This requires prior setup, but if you're used to crashing a machine (e.g. because you're doing low-level development on it), you may want to set up a watchdog, i.e. a kernel or user tasks that reboots it automatically when it becomes unresponsive. Linux can use a hardware watchdog if your motherboard has one, or a software watchdog otherwise.

share|improve this answer
add comment

A RAC (remote access card) or iLO (integrated lights-out) or MP (management processor) will provide you with means to reset your server.

For example if you have a Dell PowerEdge with a RAC-card (called DRAC) you can power-cycle the server via ssh:

ssh drac "racadm serveraction powercycle"

The other option is to use the Web-GUI for RAC/iLO and do the same there.

There is an open standard for this stuff as well: IPMI.

share|improve this answer
add comment

Even more interesting than what @Rush answer, is the ability to restart (and much more) the system, even if the system isn't responding to keyboard at all. But it has to be respond to ping (ICMP) packets.

See here for the full documentation & instructions on how to implement that.

share|improve this answer
4  
How about actually giving a brief of the instructions/summary of principles instead of just a link? –  kizzx2 Dec 27 '11 at 16:52
    
you need to do a bit of setup for that approach, but definitely a neat idea. –  gatoatigrado Dec 27 '11 at 17:36
    
That sounds interesting -- but isn't there a considerable security risk involved? Allowing a server to be rebooted via a single ICMP packet seems like a denial-of-service attack waiting to happen. –  bgvaughan Dec 29 '11 at 18:20
    
@bgvaughan: you are right, and at the link i have provided above, there is the pros and cons about it, and one of them is security, although you can restrict who can do that. –  Hanan N. Dec 29 '11 at 18:30
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.