cómo iniciar/detener/reiniciar procesos

Como recién llegado del sistema operativo Windows, me pregunto cómo iniciar/detener/reiniciar un servicio en Mac OS X Snow Leopard 10.6.8 (es sencillo en Windows usando su Administrador de tareas). Probé Activity Monitor, pero solo mata procesos, no los inicia. Probé el comando: launchctl stop *servicename*y luego el comando launchctl start *servicename*después de presionar regresar en el teclado después de cada comando, el terminal no muestra ningún mensaje, por lo que debe tener éxito, pero cuando reviso el resultado en el Monitor de actividad, parece que este comando es inútil porque no tiene ningún efecto sobre ese proceso en el Monitor de actividad.

ps Estoy seguro de que escribí el nombre correcto del proceso, tomé el nombre de la lista usando el comando:launchctl list

EDITAR: (líneas de salida del comando ps auxwww)

line1:

zend 204 0.0 0.1 602396 2684 ?? Ss 10:53AM 0:00.72 /usr/local/zend/gui/lighttpd/sbin/lighttpd -m /usr/local/zend/gui/lighttpd/lib -f /usr/local/zend/gui/lighttpd/etc/lighttpd.conf -D

line2:

root 202 0.0 0.0 623124 756 ?? Ss 10:53AM 0:00.00 /usr/local/zend/bin/watchdog -c /usr/local/zend/etc/watchdog-lighttpd.ini -u zend -g zend -s lighttpd

Respuestas (2)

Es extraño ver las preguntas entre los usuarios de "windows migrado" y "default mac". :) Los usuarios de Windows migrado generalmente quieren "modificar un poco" el sistema. Usuarios predeterminados de Mac - simplemente "usándolo".

Estoy usando MAC muchos años y nunca necesité usar el comando launchctl. Si significa nunca, significa que en el uso normal, por supuesto, a veces es necesario usarlo al instalar algunas cosas desde los macports, para cargar una sola vez los archivos de inicio más o menos.

Me pregunto, ¿por qué necesita iniciar/detener/reiniciar servicios con launchctl? Pregunto porque si no eres un usuario experimentado de OS X, probablemente arruinarás la "armonía" del sistema :). Entonces, en este caso, en mi humilde opinión, es mejor preguntar el problema específico, así que pregunte cómo iniciar/detener el servicio específico.


Como respuesta, compruebe primero las preferencias del sistema. La mayoría de los servicios comunes se encuentran en el panel "Compartir", como servidor web, sshd, uso compartido de CD, etc.

Algunos archivos dmg de terceros con material GNU también vienen con su propio panel de preferencias. Por ejemplo, puede instalar un servidor MYSQL precompilado con un panel de preferencias, lo que le permite iniciar y reiniciar el servidor.

Si no encuentra el servicio buscado en preferencias, sea más preciso. ¿Qué servicio necesita iniciar/detener? El comando "launchctl" funciona según sea necesario para funcionar, ActivityMonitor también. También puede usar los comandos "ps axuwww" o "top" desde la Terminal.

Recuerde, ahora está en el mundo UNIX, por lo que se puede hacer casi cualquier cosa desde la línea de comandos, pero por lo general eso significa mucho aprendizaje... ;)


EDITAR:

intentar:

sudo kill -1 204
              ^-process number

desde la terminal, o simplemente elimine el daemon desde el Monitor de actividad. El perro guardián debería reiniciarlo.

¿Tiene algún archivo lighthttpd en /Library/LaunchDaemons/*? Entonces, cualquier salida del comando:

ls /Library/LaunchDaemons | grep -i light

en caso afirmativo, puede utilizar el:

sudo launchctl unload /Library/LaunchDaemons/filename.plist
sudo launchctl load /Library/LaunchDaemons/filename.plist

Comando de parada/arranque.

Me gustó su cita sobre usuarios migrados de Mac vs. Windows :) y muchas gracias por su explicación detallada, sin embargo, agregué una extensión de PHP llamada: "mysqli.so" al archivo ini, y para que esto surta efecto , el servicio llamado "lightttd" debe reiniciarse, y no hay una interfaz visual para hacerlo con un simple clic, así que abrí la terminal y probé el comando launcctl pero, como dije, no tiene efecto en el servicio, lo intenté su comando "ps auxwww", enumera información completa sobre los procesos en ejecución, tomé dos líneas de la salida de este comando que se refiere a... continuará en el siguiente comentario
eso concierne a mi proceso "lighttpd": line1: zend 204 0.0 0.1 602396 2684 ?? Ss 10:53 AM 0:00.72 /usr/local/zend/gui/lighttpd/sbin/lighttpd -m /usr/local/zend/gui/lighttpd/lib -f /usr/local/zend/gui/lighttpd/etc/ lighttpd.conf -D línea2: root 202 0.0 0.0 623124 756 ?? Ss 10:53AM 0:00.00 /usr/local/zend/bin/watchdog -c /usr/local/zend/etc/watchdog-lighttpd.ini -u zend -g zend -s lighttpd lo crea o no, reinicié mi ¡Máquina para reiniciar este servicio! ¿Cómo puedo reiniciarlo desde la terminal o desde cualquier otro lugar? pd: no existe en COMPARTIR.
eh, ¿puedes editar tu pregunta para insertar líneas más legibles? Intentaré resolverlos de todos modos, pero debería ayudar un poco. :)
Lo siento por escribir mal el nombre: quise decir "proceso" no "servicio" ... perdóname ... edité el tema principal
" uh, ¿puedes editar tu pregunta para insertar líneas más legibles? Intentaré descifrarlas de todos modos, pero debería ayudar un poco. :) " .. HECHO.
Probé su solución en la sección EDITAR anterior: sudo kill no eliminó el proceso (aunque la terminal no dio un mensaje, por lo que debe tener éxito), y esto me vuelve loco, así que simplemente inicié Activity Monitor y eliminé el proceso con éxito desde allí. ¡y no hay salida del segundo comando! pd Abrí la carpeta LaunchDaemons con Finder, encontré que está vacía
kill -1 envía el mensaje SIGHUP al proceso. El proceso simple recibió el mensaje SIGHUP. El SIGHUP debe indicar al demonio lightppd que vuelva a leer el archivo de configuración. Si realmente quiere eliminar el proceso, debe usar "matar PID" (o matar -15 PID) o "matar -9 PID". (hombre matar - manual para el comando matar)
Entonces, ¿cómo puedo iniciar el proceso después de matarlo?
El perro guardián debería reiniciarlo. si no /usr/local/zend/gui/lighttpd/sbin/lighttpd -m /usr/local/zend/gui/lighttpd/lib -f /usr/local/zend/gui/lighttpd/etc/lighttpd.conf -D comando (como lo ve en la lista de procesos). No conozco tu instalación de lighttpd. La instalación de la mía TIENE el archivo de inicio de LaunchDaemon.
el perro guardián no lo reinició, pero pude reiniciarlo usando el comando en la lista de procesos, esto es realmente bueno :) muchas gracias por su amable ayuda. Lo siento, no puedo votar porque necesita más de 15 de reputación... pero agradezco su ayuda.

Estoy usando MAC muchos años y nunca necesité usar el comando launchctl. Si significa nunca, significa que en el uso normal, por supuesto, a veces es necesario usarlo al instalar algunas cosas desde los macports, para cargar una sola vez los archivos de inicio más o menos.

Me pregunto, ¿por qué necesita iniciar/detener/reiniciar servicios con launchctl? Pregunto porque si no eres un usuario experimentado de OS X, probablemente arruinarás la "armonía" del sistema :). Entonces, en este caso, en mi humilde opinión, es mejor preguntar el problema específico, así que pregunte cómo iniciar/detener el servicio específico.

No veo ningún problema en hacer una pregunta más amplia sobre cómo se inician y detienen los servicios si permite que el OP comprenda mejor la mecánica subyacente del sistema.

En cuanto a por qué querría hacer esto, una buena razón sería eliminar de forma remota los procesos errantes en máquinas remotas a través de Apple Remote Desktop. Hago esto con frecuencia para nuestros usuarios de red en la escuela y puede ahorrar mucho trabajo (además de evitar ingresar comandos de terminal repetitivos).

Los usuarios de ARD querrán eliminar los procesos por nombre en lugar de por PID, ya que la ID del proceso no es necesariamente la misma cada vez que se inicia el proceso...

sudo killall coreaudiod

...sería un comando útil para los usuarios de ARD ya que es repetible independientemente del PID, mientras que...

sudo kill -1 211

... probablemente solo funcionaría para eliminar coreaudiod en la ocasión en que su PID fuera realmente 211 , y definitivamente no sería un comando ARD que valdría la pena guardar para uso futuro. Esto puede parecer obvio para los usuarios "avanzados", pero es posible que los usuarios desconocidos no se den cuenta de la diferencia.

¡Pensé que esto era muy útil! Sí, solo quería reiniciar SystemUIServer que administra la barra de menús, esencialmente actualizándolo para ver algunas listas que acabo de actualizar. No tener que buscar el ID del proceso me ahorró mucho tiempo. ¡Gracias!