标签: wait

使linux"等待"命令等待所有子进程

等待不等待所有子进程停止.这是我的脚本:

#!/bin/bash

titlename=`echo "$@"|sed 's/\..\{3\}$//'`
screen -X title "$titlename"

/usr/lib/process.bash -verbose $@

wait

bash -c "mail.bash $@"
screen -X title "$titlename.Done"
Run Code Online (Sandbox Code Playgroud)

我没有访问/usr/lib/process.bash,但它是一个经常更改的脚本,所以我想引用它...但在该脚本中:

#!/bin/ksh
#lots of random stuff
/usr/lib/runall $path $auto $params > /dev/null 2>&1&
Run Code Online (Sandbox Code Playgroud)

我的问题是runall创建了一个日志文件...而mail.bash假设要将该日志文件邮寄给我,但是等待不等待runall完成,它似乎只是等待process.bash完成.无论如何,有没有访问process.bash,或试图保持我自己的最新版本的process.bash,以使等待正确等待runall完成?(日志文件会覆盖以前的运行,所以我不能只检查是否存在日志文件,因为总有一个存在)

谢谢,丹

linux bash wait

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

如何理解Java Thread中的wait和notify方法?

我对这两个描述非常困惑:

  1. "wait方法阻塞调用线程并放弃监视器锁定"
  2. "notify方法解除阻塞一个等待线程但不放弃监视器锁定"

这是我的问题:

  1. 我知道Java中的每个对象都有一个锁,但"监视器锁"是什么意思?是否与oject的锁相同?

  2. 为什么通知方法需要放弃显示器锁定?

  3. 如果我尝试使用以下代码使对象等待:

    class simpleTask extends Thread
    {
        int waitingTime;
    
        public simpleTask(int waitingTime)
        {
            this.waitingTime = waitingTime;
        }
    
        public void run()
        {
            synchronized(this) // this is a reference of current object
            {
            try {
                this.wait(waitingTime);
            } catch (InterruptedException e) {
            // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }
    
    Run Code Online (Sandbox Code Playgroud)

与上面的第一个描述一样,是指当前对象被synchronized关键字阻塞,然后wait方法释放锁?

java multithreading locking notify wait

7
推荐指数
1
解决办法
3820
查看次数

在Unix上wait()做什么?

我正在阅读wait()Unix系统书中的函数.这本书包含一个程序wait(NULL).我不明白这意味着什么.在其他程序中有

while(wait(NULL)>0) 
Run Code Online (Sandbox Code Playgroud)

......这也让我抓狂了头.

任何人都能解释一下上面的功能是做什么的吗?

c unix ubuntu wait

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

如何在C中使用等待

我该怎么用wait?它让我感到困惑不已.我fork是一个带递归的触发树,现在孩子们必须暂停(等待/睡眠),而我运行pstree,这样我就可以打印proc树了.

我应该用吗?

int status;
wait(&status);
Run Code Online (Sandbox Code Playgroud)

更确切地说

wait(NULL)
Run Code Online (Sandbox Code Playgroud)

我应该把它放在哪里?在父母if(pid > 0)或孩子if(pid==0)?也许在ifs的末尾,所以我将所有pids 存储在数组中然后运行for它们并使用wait?

我的代码模板:

void ProcRec(int index)
{
     pid_t pid;
     int noChild = getNChild(index);

     int i= 0;
     for(i = 0; i < noChild; i++)
     { 
          pid = fork();

        if (pid > 0)
        {
            /* parent process */
        }
        else if (pid == 0)
        {
            /* child process. */
            createProc(index+1);
        }
        else
        {
            /* error */
            exit(EXIT_FAILURE);
        }
    }

    if(getpid() == …
Run Code Online (Sandbox Code Playgroud)

c wait

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

Oracle等待事件:您如何解释db文件分散/顺序读取?

我们来做两个例子:全表扫描导致这个结果:

                               TOTAL   TIME
EVENT                          WAITS WAITED
------------------------------ ----- ------
db file scattered read           460     13
Run Code Online (Sandbox Code Playgroud)

这是通过非选择性索引范围扫描访问的结果:

                               TOTAL   TIME
EVENT                          WAITS WAITED
------------------------------ ----- ------
db file scattered read            15      3
db file sequential read         6209    140
Run Code Online (Sandbox Code Playgroud)

我想从非选择性索引中获取许多rowid之后会出现分散的读取.只需一次读取即可读取经过碎片整理的I/O系统上的所有表.

你能解释一下如何阅读这些数据吗?

oracle wait

6
推荐指数
1
解决办法
5307
查看次数

有没有办法让MySQL等待符合条件的行插入

假设我正在编写一个应用程序,我需要从服务器实时获取通知,并且假设这些通知存储在mysql数据库中.为了让我得到它们,我必须继续轮询mysql服务器(不断重复相同的选择查询,直到我真正得到结果)但我认为这是非常无效的方式这样做,因为大多数时候选择会变为空.如果我经常这样做,它在服务器上是不合理的压力,如果我这样做,很少通知会很晚.所以我想知道是否有办法说一个mysql查询阻止,直到匹配条件的结果变得可用.

list = query ("SELECT * FROM `notifications` WHERE `unread`=1") ;
Run Code Online (Sandbox Code Playgroud)

如果没有未读通知,则不会返回空列表,而是等到实际有未读通知返回

mysql polling blocking wait long-polling

6
推荐指数
1
解决办法
2321
查看次数

Objective-C - 等待两个异步方法完成

我正在调用我想以同步顺序执行的四个方法,前两个方法是同步的,后两个方法是异步的(从URL获取数据).

伪代码:

- (void)syncData {

    // Show activity indicator
    [object sync]; // Synchronous method
    [object2 sync]; // Synchronous method
    BOOL object3Synced = [object3 sync]; // Async method
    BOOL object4Synced = [object4 sync]; // Async method
    // Wait for object3 and object4 has finished and then hide activity indicator
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

cocoa asynchronous objective-c wait ios

6
推荐指数
2
解决办法
8432
查看次数

如何让浏览器控制台在javascript中等待

我正在尝试创建一个单击页面按钮的脚本,等待X秒(对于发生单击的结果),然后继续.

我怎样才能做到这一点?(只有等待部分)

javascript browser console wait

6
推荐指数
1
解决办法
8738
查看次数

waitpid()错误问题

我编写代码来按顺序打印pidparent->g3->c2->g1->g2->c1.

所以我用过wait(),和waitpid().但我失败了.

所以我写了"完成"代码来了解什么是问题.

而且我知道c1忽略了waitpid并打印了what-> finish.

我怎么解决这个问题


#include <stdio.h>
#include <unistd.h>
#include <sys/wait.h>
#include <stdlib.h>

void main()
{
pid_t c1,c2,g1,g2,g3;

printf("parent:%d\n", (int)getpid());
c1=fork();
int status;
if (c1>0) {
        c2=fork();
        if (c2==0) {
            g3=fork();
            if (g3==0) {
                    printf("g3:%d\n",(int)getpid());
            } else if (g3>0) {
            wait(&status);
            printf("c2:%d\n",(int)getpid());
            }
       }
} else if (c1==0) {
        waitpid(c2,&status,WUNTRACED);
    printf("what\n");
    g1=fork();
    if (g1>0) {
            g2=fork();
            if (g2==0) {
                printf("g2:%d\n",(int)getpid());
            } else if (g2>0) {
                    waitpid(g1,&status,WUNTRACED);
                    printf("c1:%d\n", (int)getpid());
            }
        } else if …
Run Code Online (Sandbox Code Playgroud)

fork wait

6
推荐指数
1
解决办法
65
查看次数

如何等待订阅功能以角度 8 完成?

我想等待一个函数完成,然后再执行它旁边的函数。我有一个名为getData() 的函数,其中发生了 http 调用,它返回一个 observable。第二个函数checkDuplicate()我们订阅了该函数getData()。我们有第三个函数,称为proceed(),我们在其中调用checkDuplicate()函数,一旦checkDuplicate()函数完成,我们就会调用alert("finished")。但这里的问题是在checkDuplicate()函数完成之前,警报已经被触发。

找到代码以获得更好的说明:

getData(): Observable<any>{
  return this.http.get<any>(URL...);
}

checkDuplicate(){

return this.getData().subscribe(response => {
   if(response){
      console.log("Inside");
  }
});
}

proceed(){
 this.checkDuplicate();
 console.log("finished");
}
Run Code Online (Sandbox Code Playgroud)

实际结果

完成的

里面

预期结果

里面

完成的

我试过asyn/await等待 checkDuplicate() 函数完成。但是还是没有用。如果您分享解决方案,将不胜感激。提前致谢 !!!

wait subscribe observable async-await angular8

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