python 新手问题啊,为什么我运行一个python程序,另一个就会自动退出呢?始终只能运行一个
/data/python/caiji_asc.py/data/python/caiji_desc.py两个文件的代码几乎一样的,就是查询mysql的时候order排序不一...
/data/python/caiji_asc.py
/data/python/caiji_desc.py
两个文件的代码几乎一样的,就是查询mysql的时候order 排序不一样
下面是具体代码,刚学几天,网上东拼西凑出来的,高手帮忙看看吧
我用ssh连接服务器 运行这两个python 程序始终都是一个运行了另一个自动exit。。实在不明白怎么回事??
#!/usr/bin/python
#-*-coding:utf-8-*-
import MySQLdb, os, socket, time;
import MySQLdb.cursors;
import urllib
User = 'root';
Passwd = '123456';
Host = 'localhost';
Db = 'test_xs';
conn = MySQLdb.connect(user=User,passwd=Passwd,host=Host,db=Db);
mysql = conn.cursor(cursorclass = MySQLdb.cursors.DictCursor);
mysql.execute("select * from image order by id asc");
result = mysql.fetchall();
startTime = time.time();
timeout = 10; # in seconds
socket.setdefaulttimeout(timeout);
for row in result:
dir = os.path.dirname(row['path']);
if not os.path.exists(dir):
os.makedirs(dir);
os.chmod(dir, 0777);
os.chmod(os.path.dirname(dir), 0777);
data = urllib.urlretrieve(row['url'], row['path']);
os.chmod(row['path'], 0777);
mysql.execute("delete from image where id = %s", row['id']);
passTime = int(time.time()) - int(startTime);
if passTime >= 3600:
break;
print str(row['id']);
mysql.close();
conn.close();
[root@localhost ~]# nohup /data/python/caiji_asc.py > /dev/null 2>&1 &
[1] 4272
[root@localhost ~]# nohup /data/python/caiji_desc.py > /dev/null 2>&1 &
[2] 4273
[1] Exit 126 nohup /data/python/caiji_asc.py > /dev/null 2>&1
[root@localhost ~]# nohup /data/python/caiji_asc.py > /dev/null 2>&1 &
[3] 4274
[2] Exit 126 nohup /data/python/caiji_desc.py > /dev/null 2>&1
[root@localhost ~]# nohup python /data/python/caiji_asc.py > /dev/null 2>&1 &
[4] 4275
[3] Exit 126 nohup /data/python/caiji_asc.py > /dev/null 2>&1
[root@localhost ~]# nohup /data/python/caiji_asc.py > /dev/null 2>&1 &
[5] 4277
[root@localhost ~]# nohup /data/python/caiji_desc.py > /dev/null 2>&1 &
[6] 4278
[5] Exit 126 nohup /data/python/caiji_asc.py > /dev/null 2>&1
[root@localhost ~]# /data/python/caiji_desc.py > /dev/null 2>&1 &
[7] 4283
[4] Done nohup python /data/python/caiji_asc.py > /dev/null 2>&1
[6] Exit 126 nohup /data/python/caiji_desc.py > /dev/null 2>&1
[root@localhost ~]# /data/python/caiji_asc.py > /dev/null 2>&1 &
[8] 4284
[7] Exit 126 /data/python/caiji_desc.py > /dev/null 2>&1
貌似数据库里面数据已经都被删除了的问题吧 。。 现在测试又正常了。 晕死。。 展开
/data/python/caiji_desc.py
两个文件的代码几乎一样的,就是查询mysql的时候order 排序不一样
下面是具体代码,刚学几天,网上东拼西凑出来的,高手帮忙看看吧
我用ssh连接服务器 运行这两个python 程序始终都是一个运行了另一个自动exit。。实在不明白怎么回事??
#!/usr/bin/python
#-*-coding:utf-8-*-
import MySQLdb, os, socket, time;
import MySQLdb.cursors;
import urllib
User = 'root';
Passwd = '123456';
Host = 'localhost';
Db = 'test_xs';
conn = MySQLdb.connect(user=User,passwd=Passwd,host=Host,db=Db);
mysql = conn.cursor(cursorclass = MySQLdb.cursors.DictCursor);
mysql.execute("select * from image order by id asc");
result = mysql.fetchall();
startTime = time.time();
timeout = 10; # in seconds
socket.setdefaulttimeout(timeout);
for row in result:
dir = os.path.dirname(row['path']);
if not os.path.exists(dir):
os.makedirs(dir);
os.chmod(dir, 0777);
os.chmod(os.path.dirname(dir), 0777);
data = urllib.urlretrieve(row['url'], row['path']);
os.chmod(row['path'], 0777);
mysql.execute("delete from image where id = %s", row['id']);
passTime = int(time.time()) - int(startTime);
if passTime >= 3600:
break;
print str(row['id']);
mysql.close();
conn.close();
[root@localhost ~]# nohup /data/python/caiji_asc.py > /dev/null 2>&1 &
[1] 4272
[root@localhost ~]# nohup /data/python/caiji_desc.py > /dev/null 2>&1 &
[2] 4273
[1] Exit 126 nohup /data/python/caiji_asc.py > /dev/null 2>&1
[root@localhost ~]# nohup /data/python/caiji_asc.py > /dev/null 2>&1 &
[3] 4274
[2] Exit 126 nohup /data/python/caiji_desc.py > /dev/null 2>&1
[root@localhost ~]# nohup python /data/python/caiji_asc.py > /dev/null 2>&1 &
[4] 4275
[3] Exit 126 nohup /data/python/caiji_asc.py > /dev/null 2>&1
[root@localhost ~]# nohup /data/python/caiji_asc.py > /dev/null 2>&1 &
[5] 4277
[root@localhost ~]# nohup /data/python/caiji_desc.py > /dev/null 2>&1 &
[6] 4278
[5] Exit 126 nohup /data/python/caiji_asc.py > /dev/null 2>&1
[root@localhost ~]# /data/python/caiji_desc.py > /dev/null 2>&1 &
[7] 4283
[4] Done nohup python /data/python/caiji_asc.py > /dev/null 2>&1
[6] Exit 126 nohup /data/python/caiji_desc.py > /dev/null 2>&1
[root@localhost ~]# /data/python/caiji_asc.py > /dev/null 2>&1 &
[8] 4284
[7] Exit 126 /data/python/caiji_desc.py > /dev/null 2>&1
貌似数据库里面数据已经都被删除了的问题吧 。。 现在测试又正常了。 晕死。。 展开
展开全部
两个程序基本一样,可以开多线程,threading。然后在不同的地方分别开一个线程运行,没必要运行两个程序。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
将一个脚本放后台,一个在前台执行;
Python /data/python/caiji_asc.py &
Python /data/python/caiji_desc.py
Python /data/python/caiji_asc.py &
Python /data/python/caiji_desc.py
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不会吧,python没这个毛病!可以多线程运行的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你多开几个shell吧
一个shell运行一个py
一个shell运行一个py
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询