作为一个使用taskctl并且经常出没在taskctl官方QQ群的用户,看到QQ群的萌新第一次使用taskctl基本都会遇到启动的一些问题。作为一个也犯过同样错误的用户在这里总结分享给大家,其实基本上的启动问题都是环境问题。
这里的环境包括环境变量、安装路径、系统资源等。环境变量就是安装taskctl时,设置的TASKCTLDIR和新增PATH路径,如果你设置的是用户环境变量,那么启动时一定要以安装用户来启动,通常安装taskctl的用户都不是远程直接登录的用户,用户启动taskctl的步骤通常都是从其他用户切换过来,在不注意的情况下(没有分清出su 和 su –切换用户的区别),这种情况一定要用su – 来切换用户,才能使切换后的用户环境变量生效。
安装路径问题,就是环境变量TASKCTLDIR的值,如果用户是采用设置的系统环境变量,但是安装路径却是在root用户等启动用户没有权限的路径下,此时启动也不行。
系统资源,主要指端口和IPC资源,在上述两个问题都正常的情况下,刚刚停止taskctl服务,但是Linux系统还没有回收端口,此时启动也是有问题的,一般等待几十秒即可;还有一种情况就是,用户安装都是参照JDK、tomcat之类的Linux服务程序来安装的,这个时候和tomcat的类型,如果A用户启动了,占用了相应端口,此时B用户在来启动,肯定也是有问题的。
最后的最后,如果你是第一次使用(试用、测试),建议单独开辟一个新用户来安装taskctl,配置用户环境变量,环境变量值和PATH新增值都在这个用户下,方便很多问题的检测。当有一定基础后,可能要调用的作业在不同的用户下面,此时可以考虑配置成系统环境变量,安装到/usr等目录下,启动时在考虑用root用户启动。