• W
    qga: Fix shutdown command of guest agent to work with SysV · 485e741c
    whitearchey 提交于
    For now guest agent uses following command to shutdown system:
    shutdown -P +0 "blabla"
    but this syntax works only with shutdown command from systemd or upstart,
    because SysV shutdown requires -h switch.
    
    Following patch changes the command so it works with systemd, upstart and SysV
    
    With upstart/systemd qga use one of thee commands, depending on 'mode' parameter:
      shutdown -P +0 "..."
      shutdown -H +0 "..."
      shutdown -r +0 "..."
    SysV equivalents for these are:
      shutdown -h -P +0 "..."
      shutdown -h -H +0 "..."
      shutdown -h -r +0 "..."
    and these retain their meaning with upstart/systemd.
    
    According to FreeBSD manpages, shutdown does not accept -P and -H options. Commands should be:
      shutdown -p +0 "..."
      shutdown -h +0 "..."
      shutdown -r +0 "..."
    
    shutdown in Solaris does not accept any of -hHpPr and does not accept time in "+0" format
    Signed-off-by: NMichael Avdienko <whitearchey@gmail.com>
    Signed-off-by: NMichael Tokarev <mjt@tls.msk.ru>
    485e741c
commands-posix.c 39.4 KB