我有一个作业调度bash外壳脚本,其中包含以下代码:
for (( i=0; i<$toBeDoneNum; i=i+1 ))
do
while true
do
processNum=`ps aux | grep Checking | wc -l`
if [ $processNum -lt $maxProcessNum ]; then
break
fi
echo "Too many processes: Max process is $maxProcessNum."
sleep $sleepSec
done
java -classpath ".:./conf:./lib/*" odx.comm.cwv.main.Checking $i
done
我在后台运行这样的脚本:
./dispatcher.sh &
我想用 kill -9 终止此调度程序进程。但是我第一次没有记录调度程序进程的 pid。相反,我使用作业来显示所有过程,但它什么也不显示。即使这个fg也不能将这个过程带到前台。
fg
bash: fg: current: no such job
但是我认为这个调度程序进程仍然在运行,因为它仍然在继续分配java程序运行。我应该如何终止这个作业调度程序bash外壳脚本进程?
编辑:我使用了作业,作业-l,作业-r和作业-s。没有显示。
用内容创建test.sh
sleep 60
然后
jobs -l | grep 'test.sh &' | grep -v grep | awk '{print $2}'
这给了我乌班图和OSX上的进程ID
你可以把它分配给一个变量,然后杀死它
pid=`jobs -l | grep 'test.sh &' | grep -v grep | awk '{print $2}'`
kill -9 $pid
问题内容: 我当前正在运行带有标志的进程。 但是,(请注意,我是Linux的新手)我意识到,在执行此命令后几乎一秒钟,我就收到一条消息,指出我的进程收到了停止的信号。如果我做 我将在示例过程中获得列表,并带有一个小注释“ Stopped”。它真的停止了并且在后台根本不工作吗?它是如何工作的?我从互联网上得到的信息不一。 问题答案: 在Linux和其他Unix系统中,正在后台运行但仍与其(或)与其控
关于处理程序,我读过,它们不存在很长时间的延迟,并将在系统重新启动后终止。所以他们不适合我的任务。 但是AlarmManager似乎是解决这个问题的一个很好的候选者,因为在允许的情况下,它们甚至在系统重启后仍然存在,并且可以重新运行应用程序。但是在Android文档中,警报管理器是用于必须在特定时间运行的任务(比如闹钟)。但我的任务每分钟都要执行。 然后是后台服务。这是更多的任务,如在后台下载,因
问题内容: 在Linux中,是否可以在前台(或交互模式)运行cron作业?(我有一个定期运行的程序来接受用户输入并进行一些处理。因此,我想将其安排为可以在前台运行的Cron作业)。 问题答案: 在您的用户的上尝试一下: 它将在执行脚本的同时(每小时)打开一次,并在脚本退出后退出。当然,您应该修改零件以适合您的需求。
我正在使用牧场主 CLI 在牧场主中运行数千个工作。我想在任务完成后立即删除作业。问题是当作业完成时,作业在那里保持“活动”。 我尝试了如何自动删除由CronJob创建的已完成的Kubernetes作业?但这对我不起作用。正如我所看到的,底层docker容器进入“终止”状态,但是部署的作业仍然是活动的。 现在我必须同步等待工作完成,然后我触发“kubectl删除”命令来删除工作。但我想异步执行此操
问题内容: 我正在通过SSH(Putty)在Linux机器上工作。我需要让一个进程在夜间运行,所以我想可以通过在后台启动该进程(在命令末尾使用&号)并将stdout重定向到文件来实现。 令我惊讶的是,这行不通。一旦关闭“腻子”窗口,该过程就会停止。 如何防止这种情况发生? 问题答案: 检出“ nohup ”程序。
问题内容: 我在一个大型组织中工作,该组织在一个共享的Jenkins集群中运行数百个工作。 我的Jenkins工作需要针对Docker容器中运行的不受信任的代码运行集成测试。我担心当我的詹金斯(Jenkins)工作突然终止(例如,工作中止或超时)时,我将身处孤儿容器中。 我已经尝试过https://github.com/moby/moby/issues/1905,但它对我不起作用(这是因为它仅适用