相关疑难解决方法(0)

如何检查进程ID(PID)是否存在

在bash脚本中,我想执行以下操作(在伪代码中):

if [ a process exists with $PID ]; then

    kill $PID 

fi
Run Code Online (Sandbox Code Playgroud)

条件语句的恰当表达式是什么?

bash pid process

169
推荐指数
7
解决办法
25万
查看次数

如何根据端口查找进程并将其全部删除?

根据端口号查找进程并将其全部删除.

ps -efl | grep PORT_NUMBER | kill -9 process_found_previously
Run Code Online (Sandbox Code Playgroud)

如何完成最后一栏?

bash shell

63
推荐指数
6
解决办法
6万
查看次数

如何限制BASH脚本的运行时间

我有一个长期运行的BASH脚本,我在Windows上运行CYGWIN.

我想限制脚本运行30秒,如果超过此限制则自动终止.理想情况下,我希望能够对任何命令执行此操作.

例如:

sh-3.2$ limittime -t 30 'myscript.sh'
Run Code Online (Sandbox Code Playgroud)

要么

sh-3.2$ limittime -t 30 'grep func *.c'
Run Code Online (Sandbox Code Playgroud)

在cygwin下,ulimit命令似乎不起作用.

我对任何想法持开放态度.

bash cygwin

16
推荐指数
4
解决办法
2万
查看次数

如何通过流程构建器在4-5秒后停止执行命令?

参考代码 :

ProcessBuilder ps4;
Process pr4 = null;

String batchFile3 = new File(path + "/src/example.sh");

ps4 = new ProcessBuilder(batchFile3.getAbsolutePath());

ps4.redirectErrorStream(true);
ps4.directory(new File(path + "/src/"));

pr4 = ps4.start();

BufferedReade readRun = new BufferedReader(new InputStreamReader(pr4.getInputStream()));



if(pr4.waitFor()==0)
{

}

 String line,stre;   

while ((line = readRun.readLine()) != null) {

     System.out.print("-----" + line);

     if (line != null) {

           stre += line;

    }

}
Run Code Online (Sandbox Code Playgroud)
  • 在这里我得到了stre字符串,它可能是错误或由我正在执行的批处理文件生成的输出.

  • 我想停止批处理文件的执行,如果需要花费4-5秒来执行批处理文件执行过程.

  • 同样在这种情况下,我应该能够返回程序来处理一个块,只有在处理批处理文件的这种延迟发生时,才会执行该块,否则不应该处理该块.

java timeout process processbuilder

5
推荐指数
1
解决办法
7427
查看次数

禁止分叉命令被杀的通知

假设我有一个bash脚本(foo.sh),它以非常简化的形式,如下所示:

echo "hello"
sleep 100 &
ps ax | grep sleep | grep -v grep | awk '{ print $1 } ' | xargs kill -9
echo "bye"
Run Code Online (Sandbox Code Playgroud)

第三行模仿pkill,默认情况下我在Mac OS X上没有,但您可以将其视为相同pkill.但是,当我运行此脚本时,我得到以下输出:

hello
foo: line 4: 54851 Killed                  sleep 100
bye
Run Code Online (Sandbox Code Playgroud)

如何抑制中间的线条以便我所看到的是hellobye

linux macos bash

2
推荐指数
1
解决办法
3759
查看次数

bash脚本杀死php进程早一个小时

我有以下内容:

kill -9 `ps aux | grep php | awk '$9 !~ /[0-9]:[0-9]/' | awk '{print $2}'`
Run Code Online (Sandbox Code Playgroud)

它的作用是杀死fcgid遗弃的进程并将其杀死以释放RAM.我想每小时将它作为一个cron运行,但是想要杀掉一小时以前的进程.我只是不确定如何修改脚本来做到这一点.

linux bash awk grep kill-process

2
推荐指数
1
解决办法
3006
查看次数

标签 统计

bash ×5

linux ×2

process ×2

awk ×1

cygwin ×1

grep ×1

java ×1

kill-process ×1

macos ×1

pid ×1

processbuilder ×1

shell ×1

timeout ×1