Heim  >  Artikel  >  Web-Frontend  >  nodejs schließen andere Anwendungen

nodejs schließen andere Anwendungen

PHPz
PHPzOriginal
2023-05-11 20:08:36811Durchsuche

In diesem Artikel wird erläutert, wie Sie Node.js zum Schließen anderer Anwendungen verwenden. In tatsächlichen Anwendungen können solche Funktionen zum Schutz der Systemsicherheit, zur Verwaltung des Betriebsstatus des Systems oder aus verschiedenen anderen Gründen verwendet werden. In Node.js können Sie externe Programme ausführen, indem Sie die exec-Methode des child_process-Moduls verwenden. Natürlich muss bei der Durchführung solcher Vorgänge besonderes Augenmerk auf die Berücksichtigung und Bewertung der Sicherheit des Systems gelegt werden, um unnötige Probleme zu vermeiden.

Schritt 1: Führen Sie das Modul child_process ein.
In Node.js können Sie Systembefehle ausführen, indem Sie das Modul child_process einführen. Sie können den folgenden Code am Anfang des Codes hinzufügen:

const { exec } = require('child_process');

Schritt 2: Finden Sie die Prozess-ID, die geschlossen werden muss
Bevor Sie den Vorgang zum Schließen anderer Programme ausführen, müssen Sie dies tun Erhalten Sie die Prozess-IDs dieser Programme. Sie können alle auf dem aktuellen System laufenden Prozesse auflisten, indem Sie den Befehl „ps -A“ ausführen. In Linux-Systemen verfügt jeder Prozess über eine eindeutige Prozess-ID (PID). Wir können den Herunterfahrvorgang durchführen, indem wir die PID finden, die dem Programmnamen entspricht. Sie können den folgenden Code verwenden, um die PID eines Prozesses zu finden:

exec('pidof <AppName>', (err, stdout, stderr) => {
  if (err) {
    console.error(err);
    return;
  }
  console.log(stdout);
});

Im obigen Code gibt „96c7a35f730d136b52d64994d1e4a36d“ den Namen des Programms an, das gefunden werden muss. Wenn dieser Befehl ausgeführt wird, ist die Ausgabe die Prozess-ID des Programms. Wenn das Programm nicht existiert, ist die Ausgabe eine leere Zeichenfolge.

Schritt 3: Andere Programme schließen
Nachdem wir die PID des Programms erhalten haben, das geschlossen werden muss, können wir den Befehl „Kill PID“ ausführen, um es zu schließen. Im Linux-System können Sie den folgenden Code verwenden, um den Prozess mit der angegebenen PID herunterzufahren:

exec('kill <PID>', (err, stdout, stderr) => {
  if (err) {
    console.error(err);
    return;
  }
  console.log(stdout);
});

Im obigen Code stellt „bed08b0deaa559fa022c3f83f9c03e86“ die Prozess-ID des benötigten Programms dar stillgelegt werden. Wenn dieser Befehl ausgeführt wird, ist die Ausgabe eine leere Zeichenfolge. Wenn Sie nach Abschluss der Ausführung die vorherigen Schritte erneut ausführen müssen, um mit dem Schließen anderer Prozesse fortzufahren, können Sie dazu Rekursion oder Schleife verwenden.

Schritt 4: Vervollständigen Sie den Beispielcode

const { exec } = require('child_process');

const closeApp = (appName) => {
  exec(`pidof ${appName}`, (err, stdout, stderr) => {
    if (err) {
      console.error(err);
      return;
    }
    // 当前程序的PID
    const curPID = process.pid;
    // 查找到的所有程序PID数组
    const pidList = stdout
      .split('
')
      .filter((pid) => pid && pid !== String(curPID));
    if (pidList.length > 0) {
      pidList.forEach((pid) => {
        exec(`kill ${pid}`, (err, stdout, stderr) => {
          if (err) {
            console.error(err);
            return;
          }
          console.log(`${pid} is killed`);
        });
      });
    } else {
      console.log(`No ${appName} process is found`);
    }
  });
};

// 以Chrome浏览器为例进行测试
closeApp('chrome');

Im obigen Code verwenden wir die Funktion closeApp, um den Vorgang zum Schließen anderer Programme auszuführen. Bei der Suche nach der PID des Programms, das geschlossen werden muss, ermitteln wir auch gezielt die PID des aktuellen Programms, um ein versehentliches Schließen des aktuellen Prozesses zu vermeiden. Nachdem wir die PID des Programms gefunden haben, das geschlossen werden muss, durchlaufen wir mit forEach die PID-Liste und führen dann nacheinander den Vorgang zum Herunterfahren durch.

Im Folgenden erfahren Sie, wie Sie Node.js zum Schließen anderer Anwendungen verwenden. In tatsächlichen Anwendungen müssen natürlich weitere Details und Sicherheitsprobleme berücksichtigt werden. Wir hoffen, dass die Leser vor der Ausführung des Codes einer ausreichenden Sicherheitsbewertung und -prüfung unterzogen werden können, um die Korrektheit und Zuverlässigkeit des Programms sicherzustellen.

Das obige ist der detaillierte Inhalt vonnodejs schließen andere Anwendungen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn