我正在尝试使用子进程从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执行此“拖拉机铲刀”,因此不需要密码。
这是我在/ 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) 我正在使用Chocolatey安装Python 2.7.11 ,它安装到C:\tools\python2:
choco install python2 -y
Run Code Online (Sandbox Code Playgroud)
有没有什么方法可以让我安装Python C:\Python27?
我有一个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) 我有这个:
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) 当我使用GCE Linux实例(CPU负载> = 1.0)执行3D图形渲染时,该describe命令执行时间超过30秒.
gcloud compute instances describe render-1
Run Code Online (Sandbox Code Playgroud)
运行50个这样的实例并单独查询每个实例时,这需要超过25分钟.
有没有更快的方法来获取此数据?
我应该怎么写这个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.