Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

216
Vistas
electronJS / Detectar si se está ejecutando una aplicación externa (MacOS) (Sandbox) (MAS)

¿Es posible detectar en electronJS si se están ejecutando aplicaciones específicas en MacOS ?

Quiero verificar, si Mail.app está abierta y es importante, que el código funciona en Mac Apple Store (MAS) en modo Sandbox .

En AppKit es posible con var runningApplications: [NSRunningApplication] { get } https://developer.apple.com/documentation/appkit/nsworkspace/1534059-runningapplications

Escribí un código que funciona, pero no en Sandbox, los comandos de terminal no son posibles:

 import { exec } from "child_process"; ... isRunning(query: string): Promise<unknown> { return new Promise((resolve, reject) => { const cmd = `ps aux | grep "${query}" | grep -v grep`; exec(cmd, (err, stdout, stderr) => { if (stderr) { reject(stderr); return false; } const lines = stdout.split("\n"); let active = null; let pid = null; for (let index = 0; index < lines.length; index++) { const line = lines[index]; if ( line.indexOf(query) !== -1 && line.indexOf(USERNAME) !== -1 ) { active = line; break; } } if (active) { const activeData = active.replace(/(\s+)/g, '\t').split('\t'); pid = activeData.length > 2 ? activeData[1] : null; } resolve(pid); }); }); } this.isRunning('Mail.app/Contents/MacOS/Mail').then(pid => { if (pid) { // kill the app? 😉 } else { resolve(null); } }, reject);

¿Alguien tiene una mejor solución para electronJS que funcione en MAS Sandbox?

about 4 years ago · Santiago Gelvez
1 Respuestas
Responde la pregunta

0

Encontré una solución para ello:

 const script = ` if application "Mail" is running then copy "true" to stdout else copy "false" to stdout end if `; exec(`osascript -e '${script}'`, (err, stdout, stderr) => { if (stderr) {console.log("error", stderr); return;} console.log("stdout", stdout); });
about 4 years ago · Santiago Gelvez Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda