func KillAndWait(timeout ...interface{}) {
	trackedSessionsMutex.Lock()
	defer trackedSessionsMutex.Unlock()
	for _, session := range trackedSessions {
		session.Kill().Wait(timeout...)
	}
	trackedSessions = []*Session{}
}
func KillAndWait(timeout ...interface{}) {
	trackedSessionsMutex.Lock()
	defer trackedSessionsMutex.Unlock()
	for _, session := range trackedSessions {
		session.Kill().Wait(timeout...)
	}
	trackedSessions = []*Session{}
}
/*
Kill sends a SIGKILL signal to all the processes started by Run, and waits for them to exit.
The timeout specified is applied to each process killed.

If any of the processes already exited, KillAndWait returns silently.
*/