QEMU for macOS is unable to set a virtual machine's process name and, therefore, cannot stop/kill a virtual machine in this fashion.
Quickemu 4.9.6 has a reliable --kill argument that uses the .pid file for the given VM to identify the virtual machine and kill/stop it.
Describe the solution you'd like
Once #169 is implemented, Quickgui should:
On Linux, use quickemu --vm /path/to/vm.conf --kill if Quickemu 4.9.6 or newer is available.
And fallback to the killall mechanism if Quickemu 4.9.5 or older is found.
On macOS, use quickemu --vm /path/to/vm.conf --kill if Quickemu 4.9.6 or newer is available.
Disable the stop button if Quickemu 4.9.5 or older is found.
Describe alternatives you've considered
Quickemu looks up the process ID from the .pid file for the given VM and implements a native Dart cross-platform mechanism to kill the virtual machine.
I confirm this feature has not been previously requested
Is your feature request related to a problem? Please describe.
Quickgui currently uses
killall
and the VM name as process identifier to stop/kill a running VM: https://github.com/quickemu-project/quickgui/blob/main/lib/src/pages/manager.dart#L344QEMU for macOS is unable to set a virtual machine's process name and, therefore, cannot stop/kill a virtual machine in this fashion.
Quickemu 4.9.6 has a reliable
--kill
argument that uses the .pid file for the given VM to identify the virtual machine and kill/stop it.Describe the solution you'd like
Once #169 is implemented, Quickgui should:
quickemu --vm /path/to/vm.conf --kill
if Quickemu 4.9.6 or newer is available.killall
mechanism if Quickemu 4.9.5 or older is found.quickemu --vm /path/to/vm.conf --kill
if Quickemu 4.9.6 or newer is available.Describe alternatives you've considered
Quickemu looks up the process ID from the .pid file for the given VM and implements a native Dart cross-platform mechanism to kill the virtual machine.
Additional context
None.