mirror of
				https://github.com/vdsm/virtual-dsm.git
				synced 2025-10-31 06:54:52 +08:00 
			
		
		
		
	PID
PID
This commit is contained in:
		
						commit
						a37ec2c4cc
					
				
							
								
								
									
										19
									
								
								run/power.sh
									
									
									
									
									
								
							
							
						
						
									
										19
									
								
								run/power.sh
									
									
									
									
									
								
							| @ -21,13 +21,12 @@ _trap(){ | |||||||
| 
 | 
 | ||||||
| _graceful_shutdown() { | _graceful_shutdown() { | ||||||
| 
 | 
 | ||||||
|  |   set +e | ||||||
|  | 
 | ||||||
|   [ ! -f "${_QEMU_PID}" ] && return |   [ ! -f "${_QEMU_PID}" ] && return | ||||||
|   [ -f "${_QEMU_SHUTDOWN_COUNTER}" ] && return |   [ -f "${_QEMU_SHUTDOWN_COUNTER}" ] && return | ||||||
| 
 | 
 | ||||||
|   set +e |   echo && echo "Received $1 signal, shutting down..." | ||||||
| 
 |  | ||||||
|   echo |  | ||||||
|   echo "Received $1 signal, shutting down..." |  | ||||||
|   echo 0 > "${_QEMU_SHUTDOWN_COUNTER}" |   echo 0 > "${_QEMU_SHUTDOWN_COUNTER}" | ||||||
| 
 | 
 | ||||||
|   # Don't send the powerdown signal because vDSM ignores ACPI signals |   # Don't send the powerdown signal because vDSM ignores ACPI signals | ||||||
| @ -38,8 +37,7 @@ _graceful_shutdown() { | |||||||
| 
 | 
 | ||||||
|   if [[ ! "${RESPONSE}" =~ "\"success\"" ]] ; then |   if [[ ! "${RESPONSE}" =~ "\"success\"" ]] ; then | ||||||
| 
 | 
 | ||||||
|     echo |     echo && echo "ERROR: Could not send shutdown command to the guest ($RESPONSE)" | ||||||
|     echo "ERROR: Could not send shutdown command to the guest ($RESPONSE)" |  | ||||||
| 
 | 
 | ||||||
|     # If we cannot shutdown the usual way, fallback to the NMI method |     # If we cannot shutdown the usual way, fallback to the NMI method | ||||||
| 
 | 
 | ||||||
| @ -53,11 +51,9 @@ _graceful_shutdown() { | |||||||
|   |   | ||||||
|     else |     else | ||||||
| 
 | 
 | ||||||
|       echo |       echo && echo "Please update the VirtualDSM Agent to allow for gracefull shutdowns..." | ||||||
|       echo "Please update the VirtualDSM Agent to allow for gracefull shutdowns..." |  | ||||||
| 
 | 
 | ||||||
|       PID=$(cat "${_QEMU_PID}") |       kill -15 "$(cat "${_QEMU_PID}")" | ||||||
|       kill -15 "${PID}" |  | ||||||
|       pkill -f qemu-system-x86_64 |       pkill -f qemu-system-x86_64 | ||||||
| 
 | 
 | ||||||
|     fi |     fi | ||||||
| @ -78,8 +74,7 @@ _graceful_shutdown() { | |||||||
| 
 | 
 | ||||||
|   done |   done | ||||||
| 
 | 
 | ||||||
|   echo |   echo && echo "Quitting..." | ||||||
|   echo "Quitting..." |  | ||||||
|   echo 'quit' | nc -q 1 -w 1 localhost "${QEMU_MONPORT}" > /dev/null || true |   echo 'quit' | nc -q 1 -w 1 localhost "${QEMU_MONPORT}" > /dev/null || true | ||||||
| 
 | 
 | ||||||
|   return |   return | ||||||
|  | |||||||
| @ -80,8 +80,10 @@ set -m | |||||||
| ) | ) | ||||||
| set +m | set +m | ||||||
| 
 | 
 | ||||||
|  | PID="$(cat "${_QEMU_PID}")" | ||||||
|  | 
 | ||||||
| if (( KERNEL > 4 )); then | if (( KERNEL > 4 )); then | ||||||
|   pidwait -F "${_QEMU_PID}" & wait $! |   pidwait "$PID" & wait $! | ||||||
| else | else | ||||||
|   tail --pid "$(cat "${_QEMU_PID}")" --follow /dev/null & wait $! |   tail --pid "$PID" --follow /dev/null & wait $! | ||||||
| fi | fi | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user