If you are using zsh, append these two lines to
~/.zshrc after line
zshoptions(1) - Linux man page :
This options works like APPEND_HISTORY except that new history lines
are added to the $HISTFILE incrementally (as soon as they are
entered), rather than waiting until the shell exits.
This option both imports new commands from the history file, and also
causes your typed commands to be appended to the history file (the
latter is like specifying INC_APPEND_HISTORY).
The poster has indicated that this was rather the option he was looking for:
If this is set, zsh sessions will append their history list to the
history file, rather than replace it. Thus, multiple parallel zsh
sessions will all have the new entries from their history lists added
to the history file, in the order that they exit.