相关疑难解决方法(0)

如何从bash脚本并行运行多个程序?

我正在尝试编写一个同时运行许多程序的.sh文件

我试过这个

prog1 
prog2
Run Code Online (Sandbox Code Playgroud)

但是运行prog1然后等到prog1结束然后开始prog2 ...

那我怎么能并行运行呢?

parallel-processing bash

218
推荐指数
12
解决办法
23万
查看次数

多线程Bash如果声明

if在bash脚本中多线程独立语句的正确方法是什么?是否最好将&after代码放在if表达式中或表达式之后?

对于&表达式之后,如果if包含大块代码,则根据需要继续进行线程化是有意义的.但是,一行代码也应该结束&吗?

表达后:

if [ expression ] &
  then
    #task
fi
Run Code Online (Sandbox Code Playgroud)

完成任务后:

if [ expression ]
  then
    #task &
fi
Run Code Online (Sandbox Code Playgroud)


想象一下if,所有3个语句都执行彼此独立的任务,执行如何与不同的位置一起工作&?根据我的理解,如果放在表达式之后,所有3个表达式(基本上)同时启动,3个任务也是如此.

#Thread 1         #Thread 2         #Thread 3
if [ expr1 ] &    if [ expr2 ] &    if [ expr3 ] &
  then              then              then
    task1            task2            task3
fi                fi                fi
wait
Run Code Online (Sandbox Code Playgroud)

如果放在任务代码之后,if将评估第一个任务代码,并且仅在第一个任务开始时才评估第二个任务代码if.这些任务比同步更加错开.

#Thread 1         #Thread 2         #Thread 3
if [ …
Run Code Online (Sandbox Code Playgroud)

unix linux bash multithreading

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

有没有更好的方法收集Twitter数据?

我正在开发一个包含Twitter数据的社区检测项目,我需要在关系的基础上创建一个网络.我收集并过滤了200,000个UID.我的下一步是在其中创建一个朋友/关注者网络.

我使用Ruby脚本和Twitter gem来收集,处理和存储数据.为了克服API调用限制,我使用Apigee代理,所以现在没有速率限制的问题.

获取两个UID之间关系状态的调用位于:https://dev.twitter.com/docs/api/1/get/friendships/show

我需要加快收集数据的过程.目前我的终端中有很多脚本同时运行.我发现这种方法很难管理和扩展.是否有更快,更有效,更易于管理的方式来做同样的事情?或者,我缺少一种完全不同的更好的方法吗?

ruby twitter bash

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

如何以多线程或有效的方式执行“git pull”?

我有一个名为“projects”的目录,它是父目录,在我的项目附近有 200 个子目录。

现在我正在git pull通过以下脚本执行。

#!/bin/bash  
find . -type d -name .git -exec sh -c "cd \"{}\"/../ && pwd && git pull && echo -e '-------------------- \n ' " \;
Run Code Online (Sandbox Code Playgroud)

有没有什么有效的方法可以以多线程和更快的方式完成这个过程?

git bash multithreading

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

标签 统计

bash ×4

multithreading ×2

git ×1

linux ×1

parallel-processing ×1

ruby ×1

twitter ×1

unix ×1