2 votos

Son rc.el apagado y el rc.el proceso de apagado.local aún se puede usar en OS X Lion?

Son de rc.shutdown o rc.shutdown.local todavía se utiliza en OS X, o han sido reemplazados con algo más?

Me doy cuenta de que launchd es la sustitución de la mayor parte de esta, pero yo pensaba que usted todavía puede utilizar rc.shutdown.local a ejecutar una secuencia de comandos.

Ni siquiera podía encontrar rc.apagado en cualquier lugar en mi sistema.

2voto

Jax Puntos 23

No tengo idea, la verdad. Hay una mención de /etc/rc.shutdown.local en /System/Library/LaunchDaemons/com.apple.SystemStarter.plist, pero no estoy del todo seguro de lo que significa. La página de manual de SystemStarter , no es una gran ayuda, más allá de que nos informaba que es obsoleto. El programa se está ejecutando en mi sistema, sin embargo. Ah, y la cadena /etc/rc.shutdown.local se encuentra en el interior de la SystemStarter binario así. Mi conjetura es que los archivos no se puede ejecutar en el cierre.

Pero si me puede contestar a su pregunta implícita de cómo ejecutar algo en la parada: Aquí es lo que he hecho. En primer lugar, me escribió y compiló este pequeño programa en C. Lo que hace es simplemente para dormir hasta que recibe un SIGTERM, momento en el cual exec de sus argumentos:

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <signal.h>

char **args;

void sigterm(int s) {
  execvp(args[1],args+1);
  fprintf(stderr, "%s: exec failed: ", args[0]);
  perror(args[1]);
  exit(1);
}

int main(int argc, char *argv[]) {
  args=argv;
  signal(SIGTERM,sigterm);
  for (;;) sleep(0x7FFFFFFF);
}

Tengo un lanzamiento demonio configurar para ejecutar este programa en el inicio. Llegado el tiempo de parada, launchd enviará el SIGTERM que hace que el programa haga su trabajo. Por supuesto, tiene que hacerlo con bastante rapidez, o launchd se aplicará un mayor mazazo.

Aquí está mi launchctl plist, nombrado no.ntnu.math.hanche.quietboot.plist y se coloca en /Library/LaunchDaemons/. Su único propósito es ejecutar `nvram SystemAdioVolume=%01' en la parada, así que me puede reiniciar sin el timbre.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>no.ntnu.math.hanche.quietboot</string>
    <key>ProgramArguments</key>
    <array>
        <string>/local/bin/atshutdown</string>
        <string>/usr/sbin/nvram</string>
        <string>SystemAudioVolume=%01</string>
    </array>
    <key>Disabled</key>
    <false/>
    <key>KeepAlive</key>
    <false/>
    <key>RunAtLoad</key>
    <true/>
</dict>
</plist>

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X