avoid leaving a zombie process for --onready (#462)

Popen() needs to be used with 'with' or have .wait() called or be
destroyed, otherwise there is a zombie child that sticks around until
the object is GC'd.
This commit is contained in:
grawity 2023-10-06 06:06:37 +03:00 committed by GitHub
parent 23b9d3af49
commit 9d0dd7ab11
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1951,7 +1951,7 @@ def main(launch_args,start_server=True):
def onready_subprocess():
import subprocess
print("Starting Post-Load subprocess...")
subprocess.Popen(args.onready[0], shell=True)
subprocess.run(args.onready[0], shell=True)
timer_thread = threading.Timer(1, onready_subprocess) #1 second delay
timer_thread.start()
@ -2021,4 +2021,4 @@ if __name__ == '__main__':
parser.add_argument("--unbantokens", help="--unbantokens is DEPRECATED and will be removed soon! EOS unbans should now be set via the generate API", action='store_true')
parser.add_argument("--usemirostat", help="--usemirostat is DEPRECATED and will be removed soon! Mirostat values should now be set via the generate API",metavar=('[type]', '[tau]', '[eta]'), type=float, nargs=3)
main(parser.parse_args(),start_server=True)
main(parser.parse_args(),start_server=True)