小编ran*_*ght的帖子

从python同时运行多个命令

我想从python同时运行三个命令.命令格式为query.pl -args

目前我在做

os.system("query.pl -results '10000' -serverName 'server1' >> log1.txt")

os.system("query.pl -results '10000' -serverName 'server2' >> log2.txt")

os.system("query.pl -results '10000' -serverName 'server3' >> log3.txt")
Run Code Online (Sandbox Code Playgroud)

我想同时查询所有三个服务器,但在这种情况下,每个命令只在最后一个完成后执行.我怎样才能让它们同时出现?我想在最后使用'&',但我希望只有当所有三个命令完成时才运行代码的下一部分

python

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

具有相同参数类型的结构中的函数指针

我正在尝试创建一个结构,该结构具有一个函数的函数指针,该函数使用与参数相同的结构.我现在有这个.

typedef struct sharedData
{
    sem_t* forks;
    int id;
    void (*forkFunc)(sharedData*);
};
Run Code Online (Sandbox Code Playgroud)

我收到的错误就像

错误:在'*'标记之前预期')'

和警告一样

 warning: no semicolon at end of struct or union 
 warning: useless storage class specifier in empty declaration
Run Code Online (Sandbox Code Playgroud)

我在这做错了什么?

c struct function-pointers

3
推荐指数
1
解决办法
1239
查看次数

在shell中实现通配符扩展

我正在尝试创建自定义shell作为练习,并希望实现通配符扩展.像bash这样的shell究竟如何进行扩展?我的意思是涉及所有步骤?

据我所知,shell在当前目录中查找文件名,并将包含'*'的参数替换为应匹配的文件名.它是否正确?除了'*'之外,shell应该执行哪些其他通配符扩展

unix bash shell wildcard

3
推荐指数
1
解决办法
2559
查看次数

fgetc阻塞:从管道读取的问题

我希望能够分叉一个进程并让子进程和父进程使用管道进行双向链接.我创建了2个管道,并从第一个管道的末尾开始读取父管,然后写入第二个管道的开头,反之亦然,但我遇到了一些问题.

这里有一个简短的代码版本(错误检查省略)

void PlayGame(int in, int out, int first, int id){  
    FILE *inStream = fdopen(in, "r");
    FILE *outStream = fdopen(out, "w");

    if (first) fputc( id, outStream);
    while(1){
        int c = fgetc(inStream);
        printf("process %d has read %d\n", id, c);
        fputc( id, outStream);
    }
}


int main (void){
    int fd[2];
    int fd1[2];
    pipe(fd);
    pipe(fd1);

    pid_t pid = fork();

    if (pid == 0){
        PlayGame(fd[0], fd1[1], 0, 1);
        exit(0);
    }
    PlayGame(fd1[0], fd[1], 1, 2);
    exit(0);
}
Run Code Online (Sandbox Code Playgroud)

我想要实现的是父进程将一个字符写入管道,并且子进程等待它接收到一个字符,然后写入其响应并再次等待父进程.我在这做错了什么?

父母和孩子都在第一次打电话时卡住了

int c = fgetc(inStream);
Run Code Online (Sandbox Code Playgroud)

c fork ipc pipe

3
推荐指数
1
解决办法
1789
查看次数

自定义标签在ie8中不起作用

我尝试制作自定义标签,以便用户可以输入显示红色或粗体等字样的文本,例如,当呈现为HTML时,

<rb>text here becomes red and bold</rb> and goes to default here
Run Code Online (Sandbox Code Playgroud)

这会在带有'note'类的div中呈现,并且我有以下css设置

.note rb
{
    color:Red;
    font-weight:bold;
}
Run Code Online (Sandbox Code Playgroud)

它适用于ie9,chrome,firefox,但在ie8中不起作用.我怎样才能在那里工作?

css ie8-compatibility-mode

3
推荐指数
1
解决办法
2838
查看次数

在 C++ 中创建环境对象的最佳方法

我想创建一个可以从我程序中的所有类访问的环境类,但我不想在每次我想从其他类访问其成员时都初始化环境对象。在 C++ 中执行此操作的最佳方法是什么?

我想这样做是因为我让环境对象存储了其他类可能使用的所有配置值。这些值是从多个位置读取的,包括不同的文件。我不想每次在我的类中创建一个新的环境对象时都解析这些文件。

c++ environment

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

python函数因没有明显原因而放慢速度

我有一个python函数定义如下,我用它从list1中删除已经在list2中的项目.我在Windows XP上使用python 2.6.2

def compareLists(list1, list2):
    curIndex = 0
    while curIndex < len(list1):
        if list1[curIndex] in list2:
            list1.pop(curIndex)
        else:
            curIndex += 1
Run Code Online (Sandbox Code Playgroud)

这里,list1和list2是列表列表

list1 = [ ['a', 11221, '2232'], ['b', 1321, '22342'] .. ]

# list2 has a similar format.
Run Code Online (Sandbox Code Playgroud)

我尝试了这个函数,list1有38,000个元素,list2有150,000个元素.如果我输入print语句来打印当前迭代,我发现每次迭代时函数都会变慢.首先,它在一秒钟内处理大约1000个或更多的物品,然后在一段时间后它减少到大约20-50秒.为什么会发生这种情况?

编辑:对于我的数据,curIndex保持为0或非常接近0,因此list1上的弹出操作几乎总是在第一项上.

如果可能的话,有人还可以建议一种更好的方式以不同的方式做同样的事情吗?

python

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

Jquery不使用动态创建的表

我有一个简单的网页,它使用jquery模板插件在页面加载时使用json调用将数据动态加载到表中.在那个表中,我想把按钮/ div或任何可点击的东西然后我可以放一个函数,这将打开一个新页面来编辑该列的内容.

问题是,我放在表格中的按钮中没有任何jquery东西可以工作.如果我把相同的按钮从表中取出(即不动态生成它),那么它工作正常但是我没有每列一个按钮.

这是我在页面加载上的内容

$(document).ready(function() {
    $.ajax({
        type: 'POST',
        dataType: "json",
        url: "http://server:8000/categories/list",
        success: function (data) {
                LoadCategories(data['CategoryList']);
        }
    });

    $(".editButton").button(); // using jquery-ui
    $(".editButton").click( function() {
        alert("Button has been clicked");
    });
});
Run Code Online (Sandbox Code Playgroud)

我的模板看起来像

   <script id="catTemplate" type="text/x-jquery-tmpl">  
        <tr id="$CategoryId">  
            <td> <button id="edit-${CategoryId}" class="editButton"> Edit</button> </td>
            <td> ${CategoryName}</td>
            <td> ${OtherValue} </td>
        </tr>  
    </script>  
Run Code Online (Sandbox Code Playgroud)

该表正确加载所有内容,只是jquery的东西不会应用于动态生成的东西.为什么这样,我如何让按钮做我想要的?

html ajax jquery

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

用于删除使用2列的NOT IN行的SQL查询

我有一个表,其中包含由2列组成的复合键,例如Name和ID.我有一些服务可以获取要保留的行的键(名称,id组合),其余的我需要删除.如果它只有一行,我可以使用

从table_name中删除名称不在(list_of_valid_names)

但是如何进行查询以便我可以说出类似的内容

name not in (valid_names) and id not in(valid_ids) 
// this wont work since they separately dont identity a unique record or will it?
Run Code Online (Sandbox Code Playgroud)

mysql sql

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

检查 lambda 是否为 noexcept

我正在尝试检查 lambda 是否为 noexcept

但看起来 noexcept(lambda) 没有做我认为应该做的事情。

auto lambda = [&](Widget& w){
    w.build();
};

auto isNoexcept = noexcept(lambda) ? "yes" : "no";
std::cout << "IsNoexcept: "  << isNoexcept << std::endl;
Run Code Online (Sandbox Code Playgroud)

这会打印“IsNoexcept: yes”,即使 lambda 没有标记为 noexcept。

我在这里做错了什么?

https://godbolt.org/z/EPfExoEad

c++ templates noexcept

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