小编hgu*_*ser的帖子

防止重复脚本同时运行

我正在使用scrapy来获取一些资源,我想让它成为cron每30分钟开始一次的工作。

定时任务:

0,30 * * * * /home/us/jobs/run_scrapy.sh`
Run Code Online (Sandbox Code Playgroud)

run_scrapy.sh

#!/bin/sh
cd ~/spiders/goods
PATH=$PATH:/usr/local/bin
export PATH
pkill -f $(pgrep run_scrapy.sh | grep -v $$)
sleep 2s
scrapy crawl good
Run Code Online (Sandbox Code Playgroud)

正如脚本所示,我也试图杀死脚本进程和子进程(scrapy)。

但是,当我尝试运行脚本的两个实例时,较新的实例不会杀死较旧的实例。

如何解决?


更新:

我有不止一个.shscrapy脚本,它们以不同的频率在cron.


更新 2 - 测试 forSerg的答案:

在我运行测试之前,所有的 cron 作业都已停止。

然后我打开三个终端窗口,说它们被命名为 w1 w2 和 w3,并按以下顺序运行命令:

Run `pgrep scrapy` in w3, which print none.(means no scrapy running at the moment).

Run `./scrapy_wrapper.sh` in w1

Run `pgrep scrapy` in w3 which print …
Run Code Online (Sandbox Code Playgroud)

command-line scripts cron

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

在 Ubuntu 中安装 JDK

我正在尝试在我的计算机上安装 oracle jdk7 64 位。

我找到了这个如何安装 Oracle Java JDK 7?

它用于update-alternative -install安装对我来说是新的 JDK。

以前我只解压文件,把jdk位置加到PATH环境变量里。

现在看来,如果我想安装其他可执行文件,我必须多次运行以下命令:

sudo update-alternatives --install "/usr/bin/xx" "xx" "/usr/lib/jvm/jdk1.7.0/bin/xx" 1
sudo chmod a+x /usr/bin/xx
Run Code Online (Sandbox Code Playgroud)

就像帖子里说的:

注意 - Java JDK 有更多的可执行文件,您可以像上面一样安装它们。java、javac、javaws 可能是最常需要的。

我认为这是相当不灵活的。所以我想知道使用update-alternative安装jdk比其他方法有什么优势。

java jdk oracle

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

如何删除组及其用户?

我尝试在我的服务器中创建 svn 用户,然后创建一个新组svn并将当前用户添加maven到该组中svn

sudo groupadd svn
sudo chgrp svn /usr/local/svn/repos
sudo usermod -a -G svn maven
Run Code Online (Sandbox Code Playgroud)

现在我尝试删除 subversion,并删除组。

然后我用了:

sudo groupdel svn
Run Code Online (Sandbox Code Playgroud)

当我尝试使用以下命令查找当前用户的组时:

groups
Run Code Online (Sandbox Code Playgroud)

我收到消息:

maven@mac:/usr/local$ 组

maven adm cdrom sudo dip plugdev lpadmin sambashare vboxusers groups: cannot find name for group ID 1001
1001
Run Code Online (Sandbox Code Playgroud)

我怎样才能解决这个问题?

permissions

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

`command` 和 `./command` 有什么区别?

我发现有时我使用command来运行命令,但有时我使用./command来运行另一个命令。

有什么不同?

command-line executable execute-command

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