mirror of https://github.com/jumpserver/jumpserver
记录 子pid
parent
ac926b5fb4
commit
e5121fe7ea
|
@ -124,19 +124,22 @@ def connect(host, port, user, password):
|
||||||
logtime_start = time.strftime('%Y/%m/%d %H:%M:%S', structtime_start)
|
logtime_start = time.strftime('%Y/%m/%d %H:%M:%S', structtime_start)
|
||||||
timestamp_start = int(time.mktime(structtime_start))
|
timestamp_start = int(time.mktime(structtime_start))
|
||||||
logfile_name = "%s/%s_%s_%s" % (log_date_dir, host, user, datetime_start)
|
logfile_name = "%s/%s_%s_%s" % (log_date_dir, host, user, datetime_start)
|
||||||
logfile = open(logfile_name, 'a')
|
|
||||||
log = Logs(user=user, host=host, logfile=logfile_name, start_time=timestamp_start)
|
|
||||||
log.save()
|
|
||||||
logfile.write('\n%s\n' % logtime_start)
|
|
||||||
try:
|
try:
|
||||||
global foo
|
global foo
|
||||||
foo = pxssh.pxssh()
|
foo = pxssh.pxssh()
|
||||||
foo.login(host, user, password, port=port, auto_prompt_reset=False)
|
foo.login(host, user, password, port=port, auto_prompt_reset=False)
|
||||||
|
log = Logs(user=user, host=host, logfile=logfile_name, start_time=timestamp_start) # 日志信息记录到数据库
|
||||||
|
log.save()
|
||||||
|
pid = Pid(ppid=os.getpid(), cpid=foo.pid)
|
||||||
|
pid.save()
|
||||||
|
|
||||||
|
logfile = open(logfile_name, 'a') # 记录日志文件
|
||||||
|
logfile.write('\n%s\n' % logtime_start)
|
||||||
foo.logfile = logfile
|
foo.logfile = logfile
|
||||||
foo.sendline('')
|
foo.sendline('')
|
||||||
signal.signal(signal.SIGWINCH, sigwinch_passthrough)
|
signal.signal(signal.SIGWINCH, sigwinch_passthrough)
|
||||||
pid = Pid(pid=os.getpid())
|
|
||||||
pid.save()
|
|
||||||
foo.interact(escape_character=chr(28))
|
foo.interact(escape_character=chr(28))
|
||||||
logfile.write('\n%s' % time.strftime('%Y/%m/%d %H:%M:%S'))
|
logfile.write('\n%s' % time.strftime('%Y/%m/%d %H:%M:%S'))
|
||||||
log.finish = 1
|
log.finish = 1
|
||||||
|
@ -144,8 +147,6 @@ def connect(host, port, user, password):
|
||||||
log.save()
|
log.save()
|
||||||
except pxssh.ExceptionPxssh as e:
|
except pxssh.ExceptionPxssh as e:
|
||||||
print('登录失败: %s' % e)
|
print('登录失败: %s' % e)
|
||||||
log.finish = 2
|
|
||||||
log.save()
|
|
||||||
except KeyboardInterrupt:
|
except KeyboardInterrupt:
|
||||||
foo.logout()
|
foo.logout()
|
||||||
log.finish = 1
|
log.finish = 1
|
||||||
|
|
|
@ -36,7 +36,10 @@ class Logs(models.Model):
|
||||||
|
|
||||||
|
|
||||||
class Pid(models.Model):
|
class Pid(models.Model):
|
||||||
pid = models.IntegerField()
|
"""
|
||||||
|
ppid : parent pid
|
||||||
|
cpid: child pid
|
||||||
|
"""
|
||||||
|
ppid = models.IntegerField()
|
||||||
|
cpid = models.IntegerField()
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue