execute method

  1. @override
Future<int> execute(
  1. List<String> arguments
)
override

Implementation

@override
Future<int> execute(List<String> arguments) async {
  final config = await getDartToolVaniaConfig(
    workingDirectory: workingDirectory,
  );
  final recordedPid = config?['process']?['pid'];
  final pid = recordedPid is int ? recordedPid : int.tryParse('$recordedPid');
  if (config == null || pid == null) {
    Console.info('No running server was recorded.');
    return ExitCode.success;
  }

  if (!Process.killPid(pid, ProcessSignal.sigterm)) {
    Console.warn('Process $pid is not running; clearing its record.');
  }
  config.remove('process');
  await updateDartToolVaniaConfig(config, workingDirectory: workingDirectory);
  Console.success('Server stopped');
  return ExitCode.success;
}