hustoj 永久等待或编译并评判解决方法

本文介绍了 HUSTOJ 平台上出现的永久等待问题及其解决方法,包括检查数据库配置文件和重启判题服务的过程,并解决了永久编译并判定的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

永久等待

关于hustoj永久等待的问题,刚开始接触这个这个问题。我的方法简单粗暴—–>>格系统重新安装,,0.0,,,(好啦,,,不要笑)。

出现这个问题可能有两种情况(据我所知):

  1. 数据库的配置文件和hustoj的配置文件不对。
  2. hustoj的判题没启动。
  3. 等待大家的发现…….

对于第一种的解决方法:

目录为:/home/judge/etc/judge.conf

  1. OJ_HOST_NAME=127.0.0.1 如果用mysql连接读取数据库,数据库的主机地址
  2. OJ_USER_NAME=root 数据库帐号
  3. OJ_PASSWORD=root 数据库密码
  4. OJ_DB_NAME=jol 数据库名称
  5. OJ_PORT_NUMBER=3306 数据库端口
  6. OJ_RUNNING=4 judged会启动judge_client判题,这里规定最多同时运行几个judge_client
  7. OJ_SLEEP_TIME=5 judged通过轮询数据库发现新任务,轮询间隔的休息时间,单位秒
  8. OJ_TOTAL=1 老式并发处理中总的judged数量
  9. OJ_MOD=0 老式并发处理中,本judged负责处理solution_id按照TOTAL取模后余数为几的任务。
  10. OJ_JAVA_TIME_BONUS=2 Java等虚拟机语言获得的额外运行时间。
  11. OJ_JAVA_MEMORY_BONUS=512 Java等虚拟机语言获得的额外内存。
  12. OJ_SIM_ENABLE=0 是否使用sim进行代码相似度的检测
  13. OJ_HTTP_JUDGE=0 是否使用HTTP方式连接数据库,如果启用,则前面的HOST_NAME等设置忽略。
  14. OJ_HTTP_BASEURL=http://127.0.0.1/JudgeOnline 使用HTTP方式连接数据库的基础地址,就是OJ的首页地址。
  15. OJ_HTTP_USERNAME=admin 使用HTTP方式所用的用户帐号(HTTP_JUDGE权限),该帐号登录时不能启用VCODE图形验证码,但可以登录成功后启用。
  16. OJ_HTTP_PASSWORD=admin 密码
  17. OJ_OI_MODE=0 是否启用OI模式,即无论是否出错都继续判剩余的数据,在ACM比赛中一旦出错就停止运行。
  18. OJ_SHM_RUN=0 是否使用/dev/shm的共享内存虚拟磁盘来运行答案,如果启用能提高判题速度,但需要较多内存。
  19. OJ_USE_MAX_TIME=1 是否使用所有测试数据中最大的运行时间作为最后运行时间,如果不启用则以所有测试数据的总时间作为超时判断依据。

 

目录为:/var/www/html/JudgeOnline/include/db_info.inc.php

  1. db_info.inc.php

  2. static  $DB_HOST=“localhost”;  数据库的服务器地址
  3. static  $DB_NAME=“jol”;        数据库名
  4. static  $DB_USER=“root”;       数据库用户名
  5. static  $DB_PASS=“root”;       数据库密码
  6.         // connect db 
  7. static  $OJ_NAME=“HUSTOJ”;      OJ的名字,将取代页面标题等位置HUSTOJ字样。
  8. static  $OJ_HOME=“./”;          OJ的首页地址
  9. static  $OJ_ADMIN=“root@localhost”; 管理员email
  10. static  $OJ_DATA=“/home/judge/data”; 测试数据所在目录,实际位置。
  11. static  $OJ_BBS=“discuss”;//”bbs” 论坛的形式,discuss为自带的简单论坛,bbs为外挂论坛,参考bbs.php代码。
  12. static  $OJ_ONLINE=false; 是否使用在线监控,需要消耗一定的内存和计算,因此如果并发大建议关闭
  13. static  $OJ_LANG=“en”;  默认的语言,中文为cn
  14. static  $OJ_SIM=true;   是否显示相似度检测的结果。
  15. static  $OJ_DICT=true;  是否启用在线英字典
  16. static  $OJ_LANGMASK=1008; //1mC 2mCPP 4mPascal 8mJava 16mRuby 32mBash 1008 for security reason to mask all other language 用掩码表示的OJ接受的提交语言,可以被比赛设定覆盖。
  17. static  $OJ_EDITE_AREA=true;// 是否启用高亮语法显示的提交界面,可以在线编程,无须IDE。
  18. static  $OJ_AUTO_SHARE=false;//true: 自动分享代码,启用的话,做出一道题就可以在该题的Status中看其他人的答案。
  19. static  $OJ_CSS=“hoj.css”; 默认的css,可以选择dark.css和gcode.css,具有有限的界面制定效果。
  20. static  $OJ_SAE=false; //是否是在新浪的云平台运行web部分
  21. static  $OJ_VCODE=true; 是否启用图形登录、注册验证码。
  22. static  $OJ_APPENDCODE=false; 是否启用自动添加代码,启用的话,提交时会参考$OJ_DATA对应目录里是否有append.c一类的文件,有的话会把其中代码附加到对应语言的答案之后,巧妙使用可以指定main函数而要求学生编写main部分调用的函数。
  23. static  $OJ_MEMCACHE=false;是否使用memcache作为页面缓存,如果不启用则用/cache目录
  24. static  $OJ_MEMSERVER=“127.0.0.1”; memcached的服务器地址
  25. static  $OJ_MEMPORT=11211;  memcached的端口

这是hustoj的配置文件和judge(判题机)的配置文件,一一对照看看是不是,数据库给配错了。

对于第二种的解决方法:

第二种出现的问题就有点扯淡了,至于为啥judge(判题机)这个进程没有启动。我也就不知道了,,解决方法

看看judge的进程ID

20160511144300

 

然后干掉它(我的是好好的,我就是做个演示)

20160511144917

 

然后现在就永远等待了,现在我们来重启这个服务

现在在咱们再来看

20160511145540

 

啦啦啦,成功喽。哈哈哈

正当我满心期待判题成功时却出现另一个问题,就是出现永久编译并判定!!so…..

解决方法:

对于这个问题出现在/home/judge/data文件夹里没有测试数据!!!我天!!

还好我的另一个服务器里有data/数据,还好还好。。。。。

 

于是一阵操作,

  1. 数据弄到这个服务器上,
  2. 解压,
  3. 替换掉原来的文件夹。
  4. 修改用户组,修改所属组。ok一定要记着改!!

20160511151229

然后重启judge

OK,至此全部解决。

原址http://www.myvary.cn/index.php/2016/05/11/hustoj-ing/

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值