@@ -3166,7 +3166,7 @@ async function processMessage(msg: ioBroker.SendableMessage): Promise<null | voi
3166
3166
const { version, adminInstance } = msg . message ;
3167
3167
3168
3168
logger . info ( `${ hostLogPrefix } Controller will upgrade itself to version ${ version } ` ) ;
3169
- startUpgradeManager ( { version, adminInstance } ) ;
3169
+ await startUpgradeManager ( { version, adminInstance } ) ;
3170
3170
3171
3171
if ( msg . callback ) {
3172
3172
sendTo ( msg . from , msg . command , { result : true } , msg . callback ) ;
@@ -6080,17 +6080,14 @@ async function _getNumberOfInstances(): Promise<
6080
6080
*
6081
6081
* @param options Arguments passed to the UpgradeManager process
6082
6082
*/
6083
- function startUpgradeManager ( options : UpgradeArguments ) : void {
6083
+ async function startUpgradeManager ( options : UpgradeArguments ) : Promise < void > {
6084
6084
const { version, adminInstance } = options ;
6085
6085
const upgradeProcessPath = require . resolve ( './lib/upgradeManager' ) ;
6086
6086
let upgradeProcess : cp . ChildProcess ;
6087
6087
6088
- if ( tools . isDocker ( ) ) {
6089
- upgradeProcess = spawn ( process . execPath , [ upgradeProcessPath , version , adminInstance . toString ( ) ] , {
6090
- detached : true ,
6091
- stdio : 'ignore'
6092
- } ) ;
6093
- } else {
6088
+ const isSystemd = await tools . isIoBrokerInstalledAsSystemd ( ) ;
6089
+
6090
+ if ( isSystemd ) {
6094
6091
upgradeProcess = spawn (
6095
6092
'sudo' ,
6096
6093
[
@@ -6106,6 +6103,11 @@ function startUpgradeManager(options: UpgradeArguments): void {
6106
6103
stdio : 'ignore'
6107
6104
}
6108
6105
) ;
6106
+ } else {
6107
+ upgradeProcess = spawn ( process . execPath , [ upgradeProcessPath , version , adminInstance . toString ( ) ] , {
6108
+ detached : true ,
6109
+ stdio : 'ignore'
6110
+ } ) ;
6109
6111
}
6110
6112
6111
6113
upgradeProcess . unref ( ) ;
0 commit comments