Difference between revisions of "Watchdog"

From AwkwardTV
Jump to: navigation, search
(How to disable Watchdog)
(How to disable Watchdog)
Line 7: Line 7:
Yet another failed attempt:
Yet another failed attempt:
Auto restart is for automatically rebooting after a power failure and is present on a G5 :(
<pre> pmset autorestart 0
<pre> pmset autorestart 0
pmset -g
pmset -g

Revision as of 18:54, 24 March 2007

What is Watchdog

Watchdog reboots the Apple TV it if the GUI isn't running.

How to disable Watchdog

Yet another failed attempt:

Auto restart is for automatically rebooting after a power failure and is present on a G5 :(

 pmset autorestart 0
pmset -g

 System-wide power settings:
  SleepDisabled          1
 Active Profiles:
  AC Power                -1*
 Currently in use:
disksleep      0 
hibernatemode  0
displaysleep   0
powerbutton    0
sleep          0
'''autorestart    0'''
hibernatefile  /var/vm/sleepimage

Apparently BackRow.framework tells Watchdog that "we are up and running":

strings /System/Library/PrivateFrameworks/BackRow.framework/Versions/A/BackRow
BRSettingsHelper tellWatchdogWeAreUpAndRunning

here is the code needed to call backrow functions. Note you must add the backrow framework to your project.

#import <Cocoa/Cocoa.h>

@interface BRSettingsHelper : NSObject {


- (void) tellWatchdogWeAreUpAndRunning;  //This function seems to reset the boot count but does not prevent the machine from rebooting.
- (void) reboot;


And now to test it:

#import <Cocoa/Cocoa.h>
#include "BRSettingsHelper.h"

int main(int argc, char *argv[])
    BRSettingsHelper * test = [[BRSettingsHelper alloc] init];

        [test reboot]; 
    return NSApplicationMain(argc,  (const char **) argv);

Note that to get this to work, the app had to be run as root.
There is also the key:

which is probably used in one of:

-[RUIPreferences boolForKey:]
-[RUIPreferences boolForKey:withValueForMissingPrefs:]
-[RUIPreferences canSetPreferencesForKey:]
-[RUIPreferences descriptionForKey:]
-[RUIPreferences floatForKey:]
-[RUIPreferences integerForKey:]
-[RUIPreferences objectForKey:]
-[RUIPreferences setBool:forKey:]
-[RUIPreferences setFloat:forKey:]
-[RUIPreferences setInteger:forKey:]
-[RUIPreferences setObject:forKey:]
-[RUIPreferences stringForKey:]

This seems to indicate that the auto reboot interval is stored as a key somewhere. I don't know if this is simply used for the Finder.app or if there is something else on the system that will use this.

SettingsHelper has a reference to "/sbin/shutdown -r now"

Symlinking /sbin/shutdown to /usr/bin/true makes the shutdown command do nothing

Background information

This Apple document about Watchdog may shed some light:

http://docs.info.apple.com/article.html?artnum=106588&coll=cp (However, on the Apple TV, there is no /etc/watchdog.conf, other than what this document is saying)

Watchdog is not used in Mac OS X 10.4: look at launchd. This is referring to a software watchdog and is probably unrelated to the rebooting problem.