服务器系统:Ubuntu-20.04.1-x64

MC版本:1.21.1

MC服务器核心:forge-1.21.1-52.0.28

Q:首次使用nohup serve.sh & (后台执行命令)启动MC服务器,正常拉起服务,使用kill命令杀死该进程后,再次使用sh serve.sh(批运行命令)重新开启服务器,结果出现报错,如下:

[05:18:57] [main/ERROR] [minecraft/Main]: Failed to start the minecraft server
net.minecraft.util.DirectoryLock$LockException: /home/minecraft/server/./world/session.lock: already locked (possibly by other Minecraft instance?)
    at TRANSFORMER/minecraft@1.21.1/net.minecraft.util.DirectoryLock$LockException.alreadyLocked(DirectoryLock.java:95) ~[forge-1.21.1-52.0.28-server.jar:?]
    at TRANSFORMER/minecraft@1.21.1/net.minecraft.util.DirectoryLock.create(DirectoryLock.java:41) ~[forge-1.21.1-52.0.28-server.jar:?]
    at TRANSFORMER/minecraft@1.21.1/net.minecraft.world.level.storage.LevelStorageSource$LevelStorageAccess.<init>(LevelStorageSource.java:417) ~[forge-1.21.1-52.0.28-server.jar:?]
    at TRANSFORMER/minecraft@1.21.1/net.minecraft.world.level.storage.LevelStorageSource.validateAndCreateAccess(LevelStorageSource.java:350) ~[forge-1.21.1-52.0.28-server.jar:?]
    at TRANSFORMER/minecraft@1.21.1/net.minecraft.server.Main.main(Main.java:151) ~[forge-1.21.1-52.0.28-server.jar:?]
    at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[?:?]
    at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[?:?]
    at SECURE-BOOTSTRAP/net.minecraftforge.fmlloader@1.21.1-52.0.28/net.minecraftforge.fml.loading.targets.CommonLaunchHandler.runTarget(CommonLaunchHandler.java:85) ~[fmlloader-1.21.1-52.0.28.jar!/:?]
    at SECURE-BOOTSTRAP/net.minecraftforge.fmlloader@1.21.1-52.0.28/net.minecraftforge.fml.loading.targets.CommonLaunchHandler.lambda$makeService$0(CommonLaunchHandler.java:69) ~[fmlloader-1.21.1-52.0.28.jar!/:?]
    at SECURE-BOOTSTRAP/cpw.mods.modlauncher@10.2.2/cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:77) [modlauncher-10.2.2.jar!/:?]
    at SECURE-BOOTSTRAP/cpw.mods.modlauncher@10.2.2/cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:97) [modlauncher-10.2.2.jar!/:?]
    at SECURE-BOOTSTRAP/cpw.mods.modlauncher@10.2.2/cpw.mods.modlauncher.Launcher.run(Launcher.java:116) [modlauncher-10.2.2.jar!/:?]
    at SECURE-BOOTSTRAP/cpw.mods.modlauncher@10.2.2/cpw.mods.modlauncher.Launcher.main(Launcher.java:75) [modlauncher-10.2.2.jar!/:?]
    at SECURE-BOOTSTRAP/cpw.mods.modlauncher@10.2.2/cpw.mods.modlauncher.BootstrapEntry.main(BootstrapEntry.java:17) [modlauncher-10.2.2.jar!/:?]
    at net.minecraftforge.bootstrap@2.1.3/net.minecraftforge.bootstrap.Bootstrap.moduleMain(Bootstrap.java:188) [bootstrap-2.1.3.jar!/:?]
    at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[?:?]
    at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[?:?]
    at net.minecraftforge.bootstrap.Bootstrap.bootstrapMain(Bootstrap.java:133) [bootstrap-2.1.3.jar:2.1.3]
    at net.minecraftforge.bootstrap.Bootstrap.start(Bootstrap.java:53) [bootstrap-2.1.3.jar:2.1.3]
    at net.minecraftforge.bootstrap.ForgeBootstrap.main(ForgeBootstrap.java:19) [bootstrap-2.1.3.jar:2.1.3]
    at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[?:?]
    at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[?:?]
    at net.minecraftforge.bootstrap.shim.Main.main(Main.java:97) [forge-1.21.1-52.0.28-shim.jar:2.1.3]
Transformer Audit:
  net.minecraft.server.Main
    REASON: classloading
  net.minecraft.util.DirectoryLock
    REASON: classloading
  net.minecraft.util.DirectoryLock$LockException
    REASON: classloading
  net.minecraft.world.level.storage.LevelStorageSource
    REASON: classloading
  net.minecraft.world.level.storage.LevelStorageSource$LevelStorageAccess
    REASON: classloading

S:

第一次杀掉MC服务器的进程后,可能有部分遗留进程未被杀死

利用   ps aux | grep minecraft   命令查询mc进程。如下:

root@ser:/home/minecraft# ps aux | grep minecraft
root       20985  0.0  0.0   8160   656 pts/3    S+   05:21   0:00 grep --color=auto minecraft

可见返回结果显示,确实有进程未被杀死,PID为20985

利用   ps aux   命令查询当前全部进程。如下:

root@ser:/home/minecraft# ps aux
USER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root           1  0.0  0.1 171492 12792 ?        Ss   Nov23   0:08 /sbin/init
root           2  0.0  0.0      0     0 ?        S    Nov23   0:00 [kthreadd]
root           3  0.0  0.0      0     0 ?        I<   Nov23   0:00 [rcu_gp]
root           4  0.0  0.0      0     0 ?        I<   Nov23   0:00 [rcu_par_gp]
root           6  0.0  0.0      0     0 ?        I<   Nov23   0:00 [kworker/0:0H-kblockd]
root           8  0.0  0.0      0     0 ?        I<   Nov23   0:00 [mm_percpu_wq]
root           9  0.0  0.0      0     0 ?        S    Nov23   0:00 [ksoftirqd/0]
root          10  0.0  0.0      0     0 ?        I    Nov23   0:29 [rcu_sched]
root          11  0.0  0.0      0     0 ?        S    Nov23   0:00 [migration/0]
root          12  0.0  0.0      0     0 ?        S    Nov23   0:00 [idle_inject/0]
root          14  0.0  0.0      0     0 ?        S    Nov23   0:00 [cpuhp/0]
root          15  0.0  0.0      0     0 ?        S    Nov23   0:00 [cpuhp/1]
root          16  0.0  0.0      0     0 ?        S    Nov23   0:00 [idle_inject/1]
root          17  0.0  0.0      0     0 ?        S    Nov23   0:00 [migration/1]
root          18  0.0  0.0      0     0 ?        S    Nov23   0:00 [ksoftirqd/1]
root          20  0.0  0.0      0     0 ?        I<   Nov23   0:00 [kworker/1:0H-kblockd]
root          21  0.0  0.0      0     0 ?        S    Nov23   0:00 [cpuhp/2]
root          22  0.0  0.0      0     0 ?        S    Nov23   0:00 [idle_inject/2]
root          23  0.0  0.0      0     0 ?        S    Nov23   0:00 [migration/2]
root          24  0.0  0.0      0     0 ?        S    Nov23   0:00 [ksoftirqd/2]
root          26  0.0  0.0      0     0 ?        I<   Nov23   0:00 [kworker/2:0H-kblockd]
root          27  0.0  0.0      0     0 ?        S    Nov23   0:00 [cpuhp/3]
root          28  0.0  0.0      0     0 ?        S    Nov23   0:00 [idle_inject/3]
root          29  0.0  0.0      0     0 ?        S    Nov23   0:00 [migration/3]
root          30  0.0  0.0      0     0 ?        S    Nov23   0:00 [ksoftirqd/3]
root          32  0.0  0.0      0     0 ?        I<   Nov23   0:00 [kworker/3:0H-kblockd]
root          33  0.0  0.0      0     0 ?        S    Nov23   0:00 [kdevtmpfs]
root          34  0.0  0.0      0     0 ?        I<   Nov23   0:00 [netns]
root          35  0.0  0.0      0     0 ?        S    Nov23   0:00 [rcu_tasks_kthre]
root          36  0.0  0.0      0     0 ?        S    Nov23   0:00 [kauditd]
root          37  0.0  0.0      0     0 ?        S    Nov23   0:00 [khungtaskd]
root          38  0.0  0.0      0     0 ?        S    Nov23   0:00 [oom_reaper]
root          39  0.0  0.0      0     0 ?        I<   Nov23   0:00 [writeback]
root          40  0.0  0.0      0     0 ?        S    Nov23   0:00 [kcompactd0]
root          41  0.0  0.0      0     0 ?        SN   Nov23   0:00 [ksmd]
root          42  0.0  0.0      0     0 ?        SN   Nov23   0:00 [khugepaged]
root          90  0.0  0.0      0     0 ?        I<   Nov23   0:00 [kintegrityd]
root          91  0.0  0.0      0     0 ?        I<   Nov23   0:00 [kblockd]
root          92  0.0  0.0      0     0 ?        I<   Nov23   0:00 [blkcg_punt_bio]
root          93  0.0  0.0      0     0 ?        I<   Nov23   0:00 [tpm_dev_wq]
root          94  0.0  0.0      0     0 ?        I<   Nov23   0:00 [ata_sff]
root          95  0.0  0.0      0     0 ?        I<   Nov23   0:00 [md]
root          96  0.0  0.0      0     0 ?        I<   Nov23   0:00 [edac-poller]
root          97  0.0  0.0      0     0 ?        I<   Nov23   0:00 [devfreq_wq]
root          98  0.0  0.0      0     0 ?        S    Nov23   0:00 [watchdogd]
root         101  0.0  0.0      0     0 ?        S    Nov23   0:00 [kswapd0]
root         102  0.0  0.0      0     0 ?        S    Nov23   0:00 [ecryptfs-kthrea]
root         104  0.0  0.0      0     0 ?        I<   Nov23   0:00 [kthrotld]
root         105  0.0  0.0      0     0 ?        I<   Nov23   0:00 [acpi_thermal_pm]
root         107  0.0  0.0      0     0 ?        S    Nov23   0:00 [scsi_eh_0]
root         108  0.0  0.0      0     0 ?        I<   Nov23   0:00 [scsi_tmf_0]
root         109  0.0  0.0      0     0 ?        S    Nov23   0:00 [scsi_eh_1]
root         110  0.0  0.0      0     0 ?        I<   Nov23   0:00 [scsi_tmf_1]
root         112  0.0  0.0      0     0 ?        I<   Nov23   0:00 [vfio-irqfd-clea]
root         114  0.0  0.0      0     0 ?        I<   Nov23   0:00 [ipv6_addrconf]
root         123  0.0  0.0      0     0 ?        I<   Nov23   0:00 [kstrp]
root         126  0.0  0.0      0     0 ?        I<   Nov23   0:00 [kworker/u9:0]
root         139  0.0  0.0      0     0 ?        I<   Nov23   0:00 [charger_manager]
root         188  0.0  0.0      0     0 ?        S    Nov23   0:00 [scsi_eh_2]
root         189  0.0  0.0      0     0 ?        I<   Nov23   0:00 [scsi_tmf_2]
root         191  0.0  0.0      0     0 ?        I<   Nov23   0:00 [kworker/0:1H-kblockd]
root         192  0.0  0.0      0     0 ?        I<   Nov23   0:00 [cryptd]
root         193  0.0  0.0      0     0 ?        I<   Nov23   0:00 [kworker/3:1H-kblockd]
root         260  0.0  0.0      0     0 ?        I<   Nov23   0:00 [raid5wq]
root         303  0.0  0.0      0     0 ?        I<   Nov23   0:00 [kworker/2:1H-kblockd]
root         304  0.0  0.0      0     0 ?        S    Nov23   0:01 [jbd2/vda1-8]
root         305  0.0  0.0      0     0 ?        I<   Nov23   0:00 [ext4-rsv-conver]
root         306  0.0  0.0      0     0 ?        I<   Nov23   0:00 [kworker/1:1H-kblockd]
root         381  0.0  0.7 101308 62152 ?        S<s  Nov23   0:14 /lib/systemd/systemd-journald
root         403  0.0  0.0   2488   508 ?        S    Nov23   0:00 bpfilter_umh
root         433  0.0  0.0  20252  6060 ?        Ss   Nov23   0:00 /lib/systemd/systemd-udevd
root         608  0.0  0.0      0     0 ?        I<   Nov23   0:00 [kaluad]
root         609  0.0  0.0      0     0 ?        I<   Nov23   0:00 [kmpath_rdacd]
root         610  0.0  0.0      0     0 ?        I<   Nov23   0:00 [kmpathd]
root         611  0.0  0.0      0     0 ?        I<   Nov23   0:00 [kmpath_handlerd]
root         612  0.0  0.2 280136 17948 ?        SLsl Nov23   0:06 /sbin/multipathd -d -s
root         621  0.0  0.0      0     0 ?        S    Nov23   0:00 [jbd2/vdb1-8]
root         623  0.0  0.0      0     0 ?        S<   Nov23   0:00 [loop0]
root         625  0.0  0.0      0     0 ?        I<   Nov23   0:00 [ext4-rsv-conver]
root         633  0.0  0.0      0     0 ?        S<   Nov23   0:00 [loop2]
systemd+     656  0.0  0.0  90888  6228 ?        Ssl  Nov23   0:00 /lib/systemd/systemd-timesyncd
systemd+     698  0.0  0.0  19080  7432 ?        Ss   Nov23   0:00 /lib/systemd/systemd-networkd
systemd+     700  0.0  0.1  24820 12424 ?        Ss   Nov23   0:00 /lib/systemd/systemd-resolved
root         734  0.0  0.0 237328  7332 ?        Ssl  Nov23   0:05 /usr/lib/accountsservice/accounts-da
root         737  0.0  0.0   8540  3064 ?        Ss   Nov23   0:00 /usr/sbin/cron -f
message+     739  0.0  0.0   7568  4616 ?        Ss   Nov23   0:00 /usr/bin/dbus-daemon --system --addr
root         745  0.0  0.0  81928  3828 ?        Ssl  Nov23   0:02 /usr/sbin/irqbalance --foreground
root         747  0.1  0.7 709336 62580 ?        Ssl  Nov23   1:02 /opt/node-v14.19.1-linux-x64/bin/nod
root         749  0.0  0.6 916816 52084 ?        Ssl  Nov23   0:34 /opt/node-v14.19.1-linux-x64/bin/nod
root         752  0.0  0.2  29872 18268 ?        Ss   Nov23   0:00 /usr/bin/python3 /usr/bin/networkd-d
root         754  0.0  0.0 232732  6812 ?        Ssl  Nov23   0:00 /usr/lib/policykit-1/polkitd --no-de
syslog       755  0.0  0.0 224344  5104 ?        Ssl  Nov23   0:04 /usr/sbin/rsyslogd -n -iNONE
root         768  0.0  0.0  17752  8080 ?        Ss   Nov23   0:00 /lib/systemd/systemd-logind
root         776  0.0  0.1 393268 12408 ?        Ssl  Nov23   0:00 /usr/lib/udisks2/udisksd
daemon       782  0.0  0.0   3796  2268 ?        Ss   Nov23   0:00 /usr/sbin/atd -f
root         807  0.0  0.1 315112 11700 ?        Ssl  Nov23   0:00 /usr/sbin/ModemManager
root         808  0.0  0.0   7352  2312 ttyS0    Ss+  Nov23   0:00 /sbin/agetty -o -p -- \u --keep-baud
root         815  0.0  0.0  12188  7400 ?        Ss   Nov23   0:05 sshd: /usr/sbin/sshd -D [listener] 0
root         828  0.0  0.0   5828  1828 tty1     Ss+  Nov23   0:00 /sbin/agetty -o -p -- \u --noclear t
root         834  0.0  0.2 108140 20668 ?        Ssl  Nov23   0:00 /usr/bin/python3 /usr/share/unattend
root        1650  0.0  0.0   6808  3272 ?        Ss   Nov23   0:00 /usr/sbin/vsftpd /etc/vsftpd.conf
root        3552  0.0  0.1  19060  9680 ?        Ss   Nov23   0:00 /lib/systemd/systemd --user
root        3554  0.0  0.0 171540  3504 ?        S    Nov23   0:00 (sd-pam)
root        4873  0.0  0.0   8740  2628 ?        Ss   Nov23   0:00 SCREEN
root        4874  0.0  0.0   8960  3828 pts/1    Ss+  Nov23   0:00 /bin/bash
root        5666  0.0  0.0   8872  2588 ?        Ss   Nov23   0:00 SCREEN
root        5667  0.0  0.0   8960  4028 pts/2    Ss+  Nov23   0:00 /bin/bash
root        6347  0.0  0.0      0     0 ?        I    Nov23   0:00 [kworker/2:3-events]
root        8170  0.0  0.0      0     0 ?        S<   Nov23   0:00 [loop3]
root        8206  0.0  0.3 1468844 32208 ?       Ssl  Nov23   0:06 /usr/lib/snapd/snapd
root        8404  0.0  0.0      0     0 ?        S<   Nov23   0:00 [loop4]
root        8561  0.0  0.0      0     0 ?        S<   Nov23   0:00 [loop5]
root       16253  0.0  0.0      0     0 ?        I    00:44   0:00 [kworker/3:0-events]
root       17614  0.0  0.0      0     0 ?        I    01:34   0:02 [kworker/3:1-events]
root       17705  0.0  0.0      0     0 ?        I    01:41   0:01 [kworker/1:1-events]
root       19629  0.0  0.0      0     0 ?        I    04:38   0:00 [kworker/0:1-events]
root       20011  0.0  0.0      0     0 ?        I    04:59   0:00 [kworker/u8:1-flush-252:0]
root       20046  0.0  0.0      0     0 ?        I    05:04   0:00 [kworker/2:1-events]
root       20160  0.0  0.0      0     0 ?        I    05:07   0:00 [kworker/1:2-mm_percpu_wq]
root       20163  7.4 12.8 9085660 1047588 ?     Sl   05:08   1:03 java -Xmx5G -Xms1G -jar forge-1.21.1
root       20639  0.0  0.0      0     0 ?        I    05:12   0:00 [kworker/2:0-events]
root       20640  0.0  0.0      0     0 ?        I    05:12   0:00 [kworker/2:2-events]
root       20649 10.4 11.9 9074072 974568 ?      Sl   05:13   0:53 java -Xmx5G -Xms1G -jar forge-1.21.1
root       20702  0.0  0.1  13912  9008 ?        Rs   05:14   0:00 sshd: root@pts/3
root       20791  0.0  0.0  10032  5044 pts/3    Ss   05:14   0:00 -bash
root       20817  0.0  0.0      0     0 ?        I    05:15   0:00 [kworker/0:2]
root       20858  0.0  0.0      0     0 ?        I    05:15   0:00 [kworker/u8:0-events_power_efficient
root       20906  0.0  0.0      0     0 ?        I    05:17   0:00 [kworker/3:2-events]
root       20907  0.0  0.0      0     0 ?        I    05:17   0:00 [kworker/3:3]
root       20908  0.0  0.0      0     0 ?        I    05:17   0:00 [kworker/2:4]
root       20982  0.0  0.0      0     0 ?        I    05:21   0:00 [kworker/u8:2-events_unbound]
root       20988  0.0  0.0  10612  3256 pts/3    R+   05:22   0:00 ps aux

总览进程中,未发现PID为20985的进程。

返回查看报错内容:

[05:18:57] [main/ERROR] [minecraft/Main]: Failed to start the minecraft server
net.minecraft.util.DirectoryLock$LockException: /home/minecraft/server/./world/session.lock: already locked (possibly by other Minecraft instance?)

根据报错内容,使用   rm /home/minecraft/server/world/session.lock   命令删除对应文件。

root@ser:/home/minecraft# rm /home/minecraft/server/world/session.lock

删掉报错文件后,重新启动服务器,拉起服务正常,服务器运行正常。

Logo

一站式 AI 云服务平台

更多推荐