El programa se cuelga cuando se ejecuta desde un .plist pero no desde un script de comando, en OS X El Capitan


1

Tengo un problema al ejecutar InDesignServer CS6 en una Mac desde un .plist. InDesignServer ejecuta un complemento que escribió la compañía para la que trabajo. Sin embargo, todos los intentos de rastrear el problema hasta el complemento han fallado, así que tengo que concluir que el problema es ambiental, de ahí el hecho de que estoy publicando aquí.

Si InDesignServer CS6 se ejecuta desde el script "InDesignServer.command", que se encuentra en el directorio de instalación, el complemento se ejecuta correctamente.

Si, por otro lado, se ejecuta desde un archivo .plist en / Library / LaunchDaemons, parece que se bloquea en un paso particular (que implica abrir un archivo en un directorio en la máquina local) y deja de responder. Hay un programa de llamadas que envía instrucciones al complemento y simplemente no recibe respuesta de él.

Por lo que puedo decir, la aplicación se ejecuta como el mismo usuario en cada caso, es decir, root (cuando lo ejecuto desde el archivo .command lo sudo). El sistema operativo es OS X El Capitan

La única pista que tengo que seguir es este mensaje, escrito en el registro de la consola cuando se ejecuta desde el .plist pero no cuando se ejecuta desde el script "InDesignServer.command".

21/07/2016 15: 31: 25.457 com.apple.xpc.launchd [1]: (com.apple.xpc.launchd.domain.system) No se pudo importar el servicio de la persona que llama: caller = InDesignServer.5018, service = com .adobe.estoolkit-3.8.102432, error = 134: el servicio no se puede cargar en la sesión solicitada

He probado dos listas, una que ejecuta InDesignServer con argumentos y otra sin ellas (solo hay una instancia ejecutándose en cualquier caso).

Plist 1

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.adobe.ids.launchd.1</string>
<key>OnDemand</key>
<false/>
<key>ProgramArguments</key>
<array>
    <string>/Applications/Adobe InDesign CS6 Server/InDesignServer</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>

Lista 2

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.adobe.ids.launchd.1</string>
<key>OnDemand</key>
<false/>
<key>ProgramArguments</key>
<array>
    <string>/Applications/Adobe InDesign CS6 Server/InDesignServer</string>
    <string>-configuration</string>
    <string>CONFIG1</string>
    <string>-LogToApplicationEventLog</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>

Contenido del script InDesignServer.command (que funciona)

#!/bin/bash
script_dirname=`dirname "$0"`

installed_name="$script_dirname/InDesignServer.app/Contents/MacOS
/InDesignServer"
built_name="$script_dirname/../packages/release/InDesignServer.app
/Contents/MacOS/InDesignServer"

if [ -x "$installed_name" ]; then
    "$installed_name" "$@" 
elif [ -x "$built_name" ]; then
    "$built_name" "$@" 
else
    echo Error: InDesign not installed or built correctly ;
fi;

Cualquier sugerencia sera apreciada.


sería útil publicar el contenido de "InDesignServer.command" también.
klanomath

Podría ser el problema con el arranque incorrecto, intente colocarlo dentro /Library/LaunchAgentso ~/Library/LaunchAgentssi no necesita ejecutarse como root.
Mateusz Szlosek

Hola. Gracias por las sugerencias Intenté copiar el .plist en / Library / LaunchAgents y llamar a launchctl desde allí, pero obtuve el mismo resultado. He agregado el contenido de InDesignServer.command a la publicación original.
G. Morgan
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.