小编fre*_*rik的帖子

使用子流程延迟执行命令

我正在尝试使用子进程从python脚本执行以下命令: sleep 10 && sudo /etc/init.d/tractor-blade restart &

我希望python脚本完成(返回代码0)。然后,十秒钟后,我希望命令能够被执行。

这就是我所拥有的:

import sys, subprocess
command = ['sleep', '10', '&&', 'sudo', '/etc/init.d/tractor-blade', 'restart' '&']
p = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)

# Catch stdout
sys.stdout.flush()
for line in iter(p.stdout.readline, b''):
    print(">>> " + line.rstrip())
Run Code Online (Sandbox Code Playgroud)

但这是发生了什么:

>>> sleep: invalid time interval `&&'
>>> sleep: invalid time interval `sudo'
>>> sleep: invalid time interval `/etc/init.d/tractor-blade'
>>> sleep: invalid time interval `restart'
>>> sleep: invalid time interval `&'
>>> Try `sleep --help' for more information.
Run Code Online (Sandbox Code Playgroud)

我猜我的格式有误吗?

在执行命令之前,我需要使python脚本完整,这就是为什么我尝试向命令添加延迟的原因。我的sudoers允许使用NOPASSWD执行此“拖拉机铲刀”,因此不需要密码。

python

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

如何从crontab正确运行gsutil?

这是我在/ etc/crontab,CentOS 6.6中的条目:

0 0 */1 * * fredrik /home/fredrik/google-cloud-sdk/bin/gsutil -d -m rsync -r -C [src] [dst] &> [log]
Run Code Online (Sandbox Code Playgroud)

我收到这个错误: OSError: [Errno 13] Permission denied: '/.config'

如果在shell中执行,该命令运行正常.我注意到0 0 */1 * * fredrik gsutil ...没有gsutil的完整路径就无法运行,所以我假设我在运行cron的环境中缺少某些东西......?

这是完整的追溯:

Traceback (most recent call last):
  File "/home/fredrik/google-cloud-sdk/bin/bootstrapping/gsutil.py", line 68, in <module>
    bootstrapping.PrerunChecks(can_be_gce=True)
  File "/home/fredrik/google-cloud-sdk/bin/bootstrapping/bootstrapping.py", line 279, in PrerunChecks
    CheckCredOrExit(can_be_gce=can_be_gce)
  File "/home/fredrik/google-cloud-sdk/bin/bootstrapping/bootstrapping.py", line 167, in CheckCredOrExit
    cred = c_store.Load()
  File "/home/fredrik/google-cloud-sdk/bin/bootstrapping/../../lib/googlecloudsdk/core/credentials/store.py", line 195, in Load
    account = properties.VALUES.core.account.Get()
  File "/home/fredrik/google-cloud-sdk/bin/bootstrapping/../../lib/googlecloudsdk/core/properties.py", line 393, in Get …
Run Code Online (Sandbox Code Playgroud)

google-cloud-storage gsutil

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

如何巧克力安装python2到自定义路径?

我正在使用Chocolatey安装Python 2.7.11 ,它安装到C:\tools\python2:

choco install python2 -y
Run Code Online (Sandbox Code Playgroud)

有没有什么方法可以让我安装Python C:\Python27

python chocolatey

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

使用 docker-composer 进行缩放并在主机名后附加一个数字?

我有一个docker-compose.yml

master:
  build: .

slave:
  image: master
  hostname: slave
  command: run_slave
Run Code Online (Sandbox Code Playgroud)

如何docker-compose scale slave=5生成具有唯一主机名的机器?

...例如这样的事情:

slave1
slave2
slave3
slave4
slave5
Run Code Online (Sandbox Code Playgroud)

containers docker docker-compose

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

表达式返回0时如何退出循环?

我有这个:

while [ "ps aux | grep '[0]:00 Xvfb :99 -screen 0 1024x768x16'" ]
do 
    echo "sleep"
    ps aux | grep "[0]:00 Xvfb :99 -screen 0 1024x768x16"
    sleep 1
done
Run Code Online (Sandbox Code Playgroud)

这给了我:

sleep
sleep
sleep
sleep
sleep
sleep
root         7  0.5  1.5 207336 31620 ?        Sl   09:31   0:00 Xvfb :99 -screen 0 1024x768x16
sleep
root         7  0.4  1.5 207336 31620 ?        Sl   09:31   0:00 Xvfb :99 -screen 0 1024x768x16
sleep
root         7  0.3  1.5 207336 31620 ?        Sl   09:31   0:00 Xvfb …
Run Code Online (Sandbox Code Playgroud)

bash

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

获取GCE实例的标签和状态的最快方法?

当我使用GCE Linux实例(CPU负载> = 1.0)执行3D图形渲染时,该describe命令执行时间超过30秒.

gcloud compute instances describe render-1
Run Code Online (Sandbox Code Playgroud)

运行50个这样的实例并单独查询每个实例时,这需要超过25分钟.

有没有更快的方法来获取此数据?

google-compute-engine gcloud

0
推荐指数
1
解决办法
895
查看次数

在(浮点数)列表中找到下一个较低的值?

我应该怎么写这个find_nearest_lower函数?

>>> values = [10.1, 10.11, 10.20]
>>> my_value = 10.12
>>> nearest_lower = find_nearest_lower(values, my_value)
>>> nearest_lower
10.11
Run Code Online (Sandbox Code Playgroud)

这需要在Python 2.6中工作而无需访问numpy.

python python-2.6

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