所以这是你们的问题。有一台具有良好cpu和gpu的linux机器,我做了一些机器学习的东西(通过ssh的jupyter笔记本)。我使用这台远程机器进行全天候挖掘,所以我需要在我登录后立即关闭这两个挖掘脚本(用于cpu和gpu),并在我注销后立即再次执行它们。
自动执行此操作的最佳和最简单方法是什么?
答案 0 :(得分:1)
假设您在任何指定时间都有一个登录会话,function start_script()
{
if [ ! -f "${HOME}/pidfile" ]; then
/path/to/script1 &> /path/to/log2 & # Background running job
_spid=$!
echo "$_spid" > "${HOME}/pidfile" # Write each pid to a file
/path/to/script2 &> /path/to/log1 &
_spid=$!
echo "$_spid" >> "${HOME}/pidfile"
fi
}
start_script
function stop_script()
{
while read -r _pid
do
kill "$_pid" # kill pids while exiting
done <"${HOME}/pidfile"
rm -f "${HOME}/pidfile" # Remove the pidfile
echo Goodbye;
}
trap stop_script EXIT # run stop_script when exiting from login session
中的此类内容可以完成此任务,
script1
上面将在您的登录名上运行script2
和trap
,然后在您退出时(干净地)终止进程。 EXIT
是关键所在。除了 match = re.search(r'(\w+)(\w+)(\w+)', inputStr)
if not match:
print("Not valid")
else:
numWord1 = match.group(0)
numword2 = match.group(1)
numWord3 = match.group(2)
print(num1)
之外,您还可以向其中添加更多信号。