utils/process.dart
File ini menyediakan sekumpulan fungsi utilitas untuk berinteraksi dengan proses sistem dan port jaringan.
Fungsi checkProcess(String nameProcess):
- Secara asinkron memeriksa apakah proses dengan nama yang diberikan saat ini berjalan di sistem.
- Menggunakan perintah
tasklistdi Windows untuk mendapatkan daftar proses yang berjalan. - Mengembalikan
truejika proses ditemukan, danfalsejika sebaliknya.
Fungsi startProgram(String path, List<String> arguments):
- Secara asinkron memulai program di
pathyang diberikan denganargumentsyang ditentukan. - Menggunakan
Process.startdenganProcessStartMode.detacheduntuk meluncurkan program sebagai proses terpisah, memungkinkannya berjalan secara independen dari aplikasi utama.
Fungsi killProcess(String nameProcess):
- Secara asinkron menghentikan proses dengan nama yang diberikan.
- Menggunakan perintah
taskkill.exedi Windows dengan flag/F(paksa) dan/IM(nama gambar). - Mengembalikan
truejika perintah berhasil dieksekusi, danfalsejika sebaliknya.
Fungsi isPortAvailable(String port):
- Secara asinkron memeriksa apakah
portjaringan yang diberikan tersedia. - Mencoba untuk mengikat
ServerSocketke port yang ditentukan. - Jika pengikatan berhasil, itu berarti port tersedia, dan fungsi mengembalikan
true. - Jika terjadi
SocketException, itu berarti port sudah digunakan, dan fungsi mengembalikanfalse.
Fungsi-fungsi ini penting untuk fungsionalitas inti Gajah Control Panel, yang memungkinkannya mengelola siklus hidup layanan web dan memeriksa statusnya.