相关疑难解决方法(0)

如何使Laravel Queue系统在服务器上运行

我最近设置了一个Laravel Queue系统.基础是cronjob调用一个命令,它将作业添加到队列中并调用第二个发送电子邮件的命令.

当我进入我的服务器并运行php artisan队列时,系统工作:listen,但是如果我关闭我的终端,则监听器关闭,作业堆叠起来并排队,直到我重新进入并再次运行监听.

什么是让我的队列系统在后台运行而不需要通过ssh保持我的连接打开的最佳方法?

我尝试运行php artisan queue:work --daemon,它完成了队列中的作业,但当我关闭终端时,它关闭了连接和后台进程.

crontab laravel artisan

50
推荐指数
12
解决办法
5万
查看次数

如何在不产生两个进程的情况下以不同的用户身份运行nohup?

我正在尝试nohup一个命令并以不同的用户身份运行它,但每次我这样做时都会产生两个进程.

例如:

$ nohup su -s /bin/bash nobody -c "my_command" > outfile.txt &
Run Code Online (Sandbox Code Playgroud)

这肯定会将my_command作为nobody运行,但是有一个我不想显示的额外进程:

$ ps -Af
.
.
.
root ... su -s /bin/bash nobody my_command
nobody ... my_command
Run Code Online (Sandbox Code Playgroud)

如果我杀死root进程,那么nobody进程仍然存在...但是有没有办法不运行root进程?因为获取my_command的id并将其删除有点复杂.

bash process nohup

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

即使关闭腻子终端也要运行Java程序

我使用腻子从Windows计算机上获取Linux计算机终端并运行Java程序。

Java类

   try {

        Timer t = new Timer();
        t.scheduleAtFixedRate(new TimerTask() {

            @Override
            public void run() {
                logger.info(new Date()+"...");
                i=i+1;
            }
        }, new Date(), 3000);

        if(i==50){
            t.cancel();
        }

    } catch (Exception e) {
        e.printStackTrace();
    }
Run Code Online (Sandbox Code Playgroud)

该程序每3秒写入一行。如果我关闭油灰,它将停止运行。程序结束,不再在记录器文件中写入任何行。

关闭腻子终端后,如何在后端甚至运行状态下运行Java程序?

java linux multithreading putty jvm

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

标签 统计

artisan ×1

bash ×1

crontab ×1

java ×1

jvm ×1

laravel ×1

linux ×1

multithreading ×1

nohup ×1

process ×1

putty ×1