anchor.diff:      if (_processPid == null) {
         return -1;
       }
  +    // If we try to kill the process while it's paused, we'll end up terminating
  +    // it forcefully and it won't terminate child processes, so we need to ensure
  +    // it's running before terminating.
  +    await resume().timeout(defaultTimeout)
  +        .catchError((Object e) => _debugPrint('Ignoring failure to resume during shutdown'));
  +
       _debugPrint('Sending SIGTERM to $_processPid..');
       ProcessSignal.SIGTERM.send(_processPid);
       return _process.exitCode.timeout(quitTimeout, onTimeout: _killForcefully);
  
positive.code:     }
      final StreamSubscription<String> subscription = _allMessages.stream.listen(logMessage);
  
      final Future<T> future = callback();
  
      future.timeout(timeout ?? defaultTimeout, onTimeout: () {
        _debugPrint(messages.toString());
        timeoutExpired = true;
        _debugPrint('$task is taking longer than usual...');
        return null;
      });
  
      return future.catchError((dynamic error) {
        if (!timeoutExpired) {
  
negative.code:       'app.restart',
        <String, dynamic>{'appId': _currentRunningAppId, 'fullRestart': fullRestart, 'pause': pause},
      );
      _debugPrint('${fullRestart ? "Hot restart" : "Hot reload"} complete.');
  
      if (hotReloadResponse == null || hotReloadResponse['code'] != 0) {
        _throwErrorResponse('Hot ${fullRestart ? 'restart' : 'reload'} request failed');
  